หลายๆ คนคงเคยใช้ OICQ และต้องใช้ข้อความตัวอักษรจากเครื่อง BP และข้อความจากโทรศัพท์มือถือด้วย
คงจะดีไม่น้อยหากโปรแกรมของคุณสามารถส่งไปยังโทรศัพท์มือถือและเครื่อง BP ได้
ตอนนี้ฉันจะแนะนำวิธีการที่เป็นไปได้
1. หลักการ
แตกต่างจากฟังก์ชันเพจของ OICQ ที่ทั้งสองฝ่ายสามารถสื่อสารได้เฉพาะเมื่อออนไลน์เท่านั้น โดยสามารถส่งข้อความไปยังเพจเจอร์จริงได้ ตราบใดที่คุณสามารถเข้าถึงอินเทอร์เน็ตได้ คุณก็สามารถทำได้ด้วยตัวเองและส่งข้อมูลได้ทุกที่ทุกเวลา แม้ว่าคุณจะอยู่ต่างประเทศ คุณก็สามารถใช้มันเพื่อส่งข้อมูลให้เพื่อน ๆ ในประเทศจีนได้ และคุณไม่จำเป็นต้องจ่ายเงินระหว่างประเทศนาน ๆ คิดค่าส่งตามระยะทาง ไม่สะดวก ไม่ยุ่งยาก!
2. การวิเคราะห์
ทุกวันนี้ สถานีเพจจิ้งทุกสถานีบนอินเทอร์เน็ตมีบริการออนไลน์ และเว็บเพจจิ้งก็เป็นที่นิยมใช้กันทั่วไป ทำได้โดยการเข้าถึงโฮมเพจของเพจจิ้งบนอินเทอร์เน็ต จากนั้นเพจโดยระบบเพจจิ้งข้อมูลของเพจจิ้ง ดังนั้นเราจึงจำเป็นต้องใช้โปรโตคอล HTTP เพื่อใช้งานเพจเครือข่ายเท่านั้น ต่อไปนี้เป็นการแนะนำสั้น ๆ เกี่ยวกับโปรโตคอล HTTP:
โดยทั่วไปแล้ว การทำเซสชันให้เสร็จสิ้นใน HTTP ต้องใช้: 1) โปรแกรมไคลเอนต์สร้างการเชื่อมต่อกับเซิร์ฟเวอร์ 2) ส่งคำขอ 3) เซิร์ฟเวอร์ตอบสนองต่อไคลเอนต์ 4) ปิดการเชื่อมต่อ
คำขอ HTTP ที่ใช้กันทั่วไปคือ: 1) GET (การร้องขอหน้าเว็บ) 2) HEAD (การอ่านส่วนหัวของหน้าเว็บ) 3) PUT (การร้องขอหน้าเว็บที่เก็บไว้) 4) POST (การแนบทรัพยากรที่มีชื่อ) 5 )DELETE ( ลบเวิลด์ไวด์เว็บ) 6)LINK (เชื่อมต่อสองทรัพยากรที่มีอยู่) 7)UNLINK (ตัดการเชื่อมต่อสองทรัพยากรที่มีอยู่)
รหัสสถานะการตอบสนองที่ใช้กันทั่วไปใน HTTP คือ: (* หมายถึงตัวเลขระหว่าง 0-9) 1. 1** (ข้อมูล) 2. 2** (สำเร็จ) 3.4** (ข้อผิดพลาดไคลเอนต์) 4.5**( ข้อผิดพลาดของเซิร์ฟเวอร์)
จริงๆ แล้ว โปรแกรมที่เราต้องการใช้งานจะใช้เฉพาะคำขอ POST และ GET เท่านั้น และได้รับการตอบกลับตามปกติ POST สามารถใช้เพื่อส่งข้อมูลที่ผู้ใช้ป้อนไปยังโปรแกรม CGI ในรูปแบบของสตรีมข้อมูล CGI ใช้ตัวแปรสภาพแวดล้อม Contact-Length เพื่อรับข้อมูลสตรีมข้อมูลที่มีความยาวที่สอดคล้องกัน
รูปแบบคำขอ POST เป็นดังนี้:
โพสต์ http://www2.scuta.edu.cn/stu/chatroom/check.asp HTTP/1.0
ยอมรับ: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-Powerpoint, application/vnd.ms-Excel, application/msWord, */*
ผู้อ้างอิง: http://www2.scuta.edu.cn/stu/
ยอมรับ-ภาษา: zh-cn
ประเภทเนื้อหา: application/x-www-form-urlencoded
พร็อกซี-การเชื่อมต่อ: Keep-Alive
ตัวแทนผู้ใช้: Mozilla/4.0 (เข้ากันได้; MSIE 5.5; Windows 98)
พิธีกร: www2.scuta.edu.cn
ความยาวเนื้อหา: 87
Pragma: ไม่มีแคช
คุกกี้: ASPsessionIDQGGGQHHE=ABGNNOJCIGOFCDLBIOLHKAFK
โครงสร้างส่วนหัวของการตอบสนองปกติของเซิร์ฟเวอร์คือ:
200 OK HTTP/1.0 แสดงว่าการส่งข้อมูลสำเร็จ
3. การนำโปรแกรมไปใช้
NMHTTP ใน Delphi สามารถใช้การส่งข้อมูลที่กล่าวถึงข้างต้นได้อย่างง่ายดาย และยังรองรับ Proxy ซึ่งใช้ได้กับการเข้าถึงอินเทอร์เน็ตผ่านพร็อกซีเซิร์ฟเวอร์ด้วย และไม่ใช่พร็อกซี SOCKET5 ที่ใช้ในการส่งข้อความใน OICQ
สร้างแบบฟอร์มใหม่และเพิ่มคอมโพเนนต์ ComboBox ชื่อ callto เพื่อจัดเก็บออบเจ็กต์การเพจ ตัวอย่างเช่น Guosen paging มี 95908, 94908, 94909, 98062, 98063, 98019, 98035, 98052, 98038, 99055, 98060, 98061 ,98051, 98003, 99062, 99016, 99017, 99018, 99019, 99046, 99076; เพิ่มส่วนประกอบ แก้ไข และตั้งชื่อเป็น tonumber ซึ่งแสดงถึงหมายเลขเพจ และตั้งชื่อเป็น RadioGroup1 ตั้งค่าคำบรรยายเป็นประเภทเพจเจอร์ และเพิ่มสองรายการไปที่ รายการแต่ละรายการในเครื่องจีน เครื่องดิจิตอล เพิ่มส่วนประกอบ แก้ไขชื่อ firstName ใช้ระบุนามสกุลของบุคคลที่ส่งเพจ เพิ่มส่วนประกอบ RadioGroup ชื่อ RadioGroup2 ตั้งค่าคำบรรยายเป็นเพศของเพจเจอร์ เพิ่มสองรายการในรายการ คือ Mr. และ Miss; เพิ่มองค์ประกอบ Memo ชื่อ callmsg ใช้เพื่อป้อนข้อมูลที่ส่ง ( หมายเหตุ: สำหรับเครื่องดิจิทัล ต้องเป็นข้อมูลดิจิทัลเท่านั้น) เพิ่มคอมโพเนนต์ NMHTTP ชื่อ NMHTTP1 เพิ่มช่องทำเครื่องหมาย ชื่อ ifuseproxy เพื่อกำหนดว่าจะใช้พร็อกซีเซิร์ฟเวอร์หรือไม่ เพิ่มคอมโพเนนต์แก้ไขสองรายการตามลำดับสำหรับที่อยู่พร็อกซีเซิร์ฟเวอร์ของซอฟต์แวร์ พอร์ตพร็อกซีเซิร์ฟเวอร์ ในที่สุดก็เพิ่มปุ่มคำสั่งและตั้งค่าคำบรรยายเป็น "ส่ง"
ตอนนี้ใช้เพจ Guosen เป็นตัวอย่าง สามารถใช้งานได้โดยใช้คำขอ GET รหัสโปรแกรมของปุ่ม "ส่ง" เป็นดังนี้:
ขั้นตอน TForm1.Button1Click (ผู้ส่ง: TObject);
var callstr:สตริง;
เริ่มการโทรstr:='http://tips.gxspace.com/cgi-bin/tips/webpaging?stn_id='+callto.Text+'&page_no='+tonumber.Text;
กรณี RadioGroup1.ItemIndex ของ
0:callstr:=callstr+'&pager_type=C';
1:callstr:=callstr+'&pager_type=N';
จบ;
callstr:=callstr+'&firstname='+firstname.text;
กรณี RadioGroup2.ItemIndex ของ
0:callstr:=callstr+'&title=0';
1:callstr:=callstr+'&title=1';
จบ;
callstr:=callstr+'&msg='+callmsg.Text+'&answer=null&B1=ส่งเพจ';
NMHTTP1.InputFileMode := FALSE;
NMHTTP1.OutputFileMode := FALSE;
NMHTTP1.ReportLevel := Status_Basic;
หาก ifuseproxy ตรวจสอบแล้ว
เริ่ม
NMHTTP1.Proxy := แก้ไข1.ข้อความ;
NMHTTP1.ProxyPort := StrToInt (แก้ไข2.ข้อความ);
จบ;
NMHTTP1.Get(callstr);
จบ;
การเพจบางอย่าง (เช่น การเพจ Runxun ไม่สามารถนำมาใช้กับคำขอ GET ข้างต้นได้ แต่จำเป็นต้องมีการร้องขอ POST) การใช้งานไม่แตกต่างจากข้างต้นมากนัก ตัวอย่างเช่น ต่อไปนี้คือการใช้ POST ของ NMHTTP:
NMHTTP1.InputFileMode:=เท็จ;
NMHTTP1.OutputFileMode:=จริง;
NMHTTP1.ReportLevel:=Status_Basic;
หาก ifuseproxy ตรวจสอบแล้ว
เริ่ม
NMHTTP1.Proxy := แก้ไข1.ข้อความ;
NMHTTP1.ProxyPort := StrToInt (แก้ไข2.ข้อความ);
จบ;
ด้วย NMHTTP1.HeaderInfo ทำ
เริ่ม
คุกกี้ := แก้ไข5.ข้อความ;
LocalMailAddress := แก้ไข6.ข้อความ;
LocalProgram := Edit7.Text;
ผู้อ้างอิง := แก้ไข8.ข้อความ;
UserID := แก้ไข 9.ข้อความ;
รหัสผ่าน := แก้ไข10.ข้อความ;
จบ;
//ใส่ข้อมูลที่จะส่งในไฟล์ test.txt ก่อน: รูปแบบคือ stnid=A&pageno=123456...
NMHTTP1.Post('http://www.wocall.com/script/zbwebcall.asp','test.txt');
//มีการติดตั้งการใช้งาน NMHTTP เฉพาะใน Delphi ขณะนี้มีตัวอย่างการใช้งาน NMHTTP ภายใต้ BorlandDelphi5DemosFastNetHttp
ข้างต้นทั้งหมดถูกนำมาใช้โดยใช้ NMHTTP ในความเป็นจริงองค์ประกอบเว็บเบราว์เซอร์ใน Delphi ยังสามารถใช้เพื่อส่งข้อมูลการใช้งานเป็นดังนี้: Webbrowser1.OleObject.Document.FrontPage_Form1.submit();
หมายเหตุ: WebBrowser1 คือชื่อของส่วนประกอบ WebBrowser, Frontpage_Form1 คือชื่อของแบบฟอร์มในหน้าเว็บที่เปิดด้วย WebBrowser
แบบฟอร์มบนหน้าเว็บมีลักษณะดังนี้:
<ชื่อแบบฟอร์ม=การกระทำ FrontPage_Form1=http://message.com.cn/cgi-bin/ips/webpageing method=post>
-
</แบบฟอร์ม>
วิธีการดำเนินการคือการใช้โปรแกรมสร้างเว็บเพจตามข้อมูลที่ผู้ใช้ป้อน จากนั้นส่ง WebBrowser1.Navigate (เว็บเพจที่สร้างขึ้น) และสุดท้ายส่งไปยังเซิร์ฟเวอร์ Webbrowser1.OleObject.Document.FrontPage_Form1.submit(); เสร็จสิ้นเมื่อมีการเพจ