Banyak orang pasti pernah menggunakan OICQ, dan mereka pasti juga menggunakan pesan teks mesin BP dan pesan teks ponselnya pasti ingin mewujudkan fungsi ini.
Alangkah baiknya jika program Anda bisa dikirim ke ponsel dan mesin BP.
Sekarang saya akan memperkenalkan metode yang mungkin.
1. Prinsip
Berbeda dengan fungsi paging OICQ di mana kedua belah pihak hanya dapat berkomunikasi saat mereka sedang online. Fungsi ini dapat mengirim pesan teks ke pager sebenarnya. Selama Anda memiliki akses ke Internet, Anda dapat melakukannya sendiri dan mengirim informasi kapan saja dan di mana saja. Bahkan jika Anda berada di luar negeri, Anda dapat menggunakannya untuk mengirim informasi ke teman di Tiongkok, dan Anda tidak perlu membayar lama untuk internasional biaya jarak jauh. Nyaman dan tidak repot!
2. Analisis
Saat ini, setiap stasiun paging di Internet memiliki layanan online, dan paging web adalah layanan yang umum digunakan. Hal ini dilakukan dengan mengakses beranda stasiun paging di Internet, dan kemudian melakukan paging dengan sistem informasi paging dari stasiun paging. Jadi kita hanya perlu menggunakan protokol HTTP untuk mengimplementasikan paging jaringan. Berikut ini adalah pengenalan singkat tentang protokol HTTP:
Menyelesaikan sesi dalam HTTP biasanya memerlukan: 1) Program klien membuat koneksi dengan server 2) Mengirim permintaan 3) Server merespons ke klien 4) Menutup koneksi
Permintaan HTTP yang umum digunakan adalah: 1) GET (meminta halaman web) 2) HEAD (membaca header halaman web) 3) PUT (meminta halaman web yang disimpan) 4) POST (melampirkan sumber daya bernama) 5 )DELETE ( Hapus World Wide Web) 6)LINK (Menghubungkan dua sumber daya yang ada) 7)UNLINK (Memutuskan hubungan dua sumber daya yang ada)
Kode status respons yang umum digunakan dalam HTTP adalah: (* mewakili angka antara 0-9) 1. 1** (informasi) 2. 2** (berhasil) 3.4** (kesalahan klien) 4.5**( Kesalahan server)
Faktanya, program yang ingin kita implementasikan hanya menggunakan permintaan POST dan GET dan menerima respon normal. POST dapat digunakan untuk meneruskan input data oleh pengguna ke program CGI dalam bentuk aliran data. CGI menggunakan variabel lingkungan Contact-Length untuk memperoleh informasi aliran data dengan panjang yang sesuai.
Format permintaan POST adalah sebagai berikut:
POSTING http://www2.scuta.edu.cn/stu/chatroom/check.asp HTTP/1.0
Terima: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-Powerpoint, application/vnd.ms-Excel, application/msWord, */*
Referensi: http://www2.scuta.edu.cn/stu/
Bahasa Terima: zh-cn
Tipe Konten: application/x-www-form-urlencoded
Koneksi PROxy: Tetap Hidup
Agen Pengguna: Mozilla/4.0 (kompatibel; MSIE 5.5; Windows 98)
Tuan rumah: www2.scuta.edu.cn
Panjang Konten: 87
Pragma: tanpa cache
Kue: ASPsessionIDQGGGQHHE=ABGNNOJCIGOFCDLBIOLHKAFK
Struktur header respon normal server adalah:
200 OK HTTP/1.0 menandakan pengiriman data berhasil
3. Implementasi program
NMHTTP di Delphi dapat dengan mudah mengimplementasikan pengiriman data yang disebutkan di atas, dan juga mendukung Proxy, yang juga berlaku untuk akses Internet melalui server proxy, dan ini bukan proxy SOCKET5 yang digunakan untuk mengirim pesan di OICQ.
Buat formulir baru dan tambahkan komponen ComboBox, bernama callto, untuk menyimpan objek paging. Misalnya, paging Guosen memiliki 95908, 94908, 94909, 98062, 98063, 98019, 98035, 98052, 98038, 99055, 98060, 98061 ,98051, 98003, 99062, 99016, 99017, 99018, 99019, 99046, 99076; tambahkan komponen Edit dan beri nama tonumber, yang mewakili nomor halaman; tambahkan komponen RadioGroup dan beri nama RadioGroup1, atur Caption ke jenis pager, dan tambahkan dua item ke item, masing-masing dalam mesin Cina, Mesin digital; Tambahkan komponen Edit, bernama FirstName, digunakan untuk menunjukkan nama belakang orang yang mengirim halaman; Tambahkan komponen RadioGroup, bernama RadioGroup2, Caption diatur ke jenis kelamin pager, tambahkan dua item ke item, yaitu Mr. dan Nona; Tambah Komponen Memo, bernama callmsg, digunakan untuk memasukkan informasi yang dikirim ( Catatan: Untuk mesin digital, hanya dapat berupa informasi digital); tambahkan komponen NMHTTP, bernama NMHTTP1; tambahkan Kotak Centang, bernama ifuseproxy, untuk menentukan apakah akan menggunakan server proxy, tambahkan dua komponen Edit, masing-masing untuk alamat server proxy perangkat lunak, port Server proxy; terakhir tambahkan tombol perintah dan atur Caption ke "Kirim".
Sekarang ambil paging Guosen sebagai contoh. Ini dapat diimplementasikan menggunakan permintaan GET. Kode program tombol "Kirim" adalah sebagai berikut:
prosedur TForm1.Button1Click(Pengirim: TObject);
var panggilantr:string;
mulai panggilantr:='http://tips.gxspace.com/cgi-bin/tips/webpaging?stn_id='+callto.Text+'&page_no='+tonumber.Text;
kasus RadioGroup1.ItemIndex dari
0:callstr:=callstr+'&pager_type=C';
1:panggilantr:=panggilanstr+'&pager_type=N';
akhir;
panggilantr:=panggilanstr+'&namadepan='+namadepan.teks;
kasus RadioGroup2.ItemIndex dari
0:callstr:=callstr+'&title=0';
1:callstr:=callstr+'&title=1';
akhir;
callstr:=callstr+'&msg='+callmsg.Text+'&answer=null&B1=Kirim paging';
NMHTTP1.InputFileMode := SALAH;
NMHTTP1.OutputFileMode := SALAH;
NMHTTP1.ReportLevel := Status_Basic;
Jika ifuseproxy. Dicentang maka
Mulai
NMHTTP1.Proxy := Edit1.Teks;
NMHTTP1.ProxyPort := StrToInt(Edit2.Teks);
Akhir;
NMHTTP1.Dapatkan(panggilantr);
akhir;
Beberapa paging (seperti paging Runxun tidak dapat diimplementasikan dengan permintaan GET di atas, memerlukan permintaan POST), penggunaannya tidak jauh berbeda dengan di atas, misalnya berikut penggunaan NMHTTP POST:
NMHTTP1.InputFileMode:=Salah;
NMHTTP1.OutputFileMode:=Benar;
NMHTTP1.ReportLevel:=Status_Basic;
Jika ifuseproxy. Dicentang maka
Mulai
NMHTTP1.Proxy := Edit1.Teks;
NMHTTP1.ProxyPort := StrToInt(Edit2.Teks);
Akhir;
Dengan NMHTTP1.HeaderInfo lakukan
Mulai
Kue := Edit5.Teks;
AlamatMail Lokal := Edit6.Teks;
Program Lokal := Edit7.Teks;
Referensi := Edit8.Teks;
ID Pengguna := Edit9.Teks;
Kata Sandi := Edit10.Teks;
Akhir;
//Masukkan data yang akan dikirimkan pada file test.txt terlebih dahulu: formatnya stnid=A&pageno=123456...
NMHTTP1.Post('http://www.wocall.com/script/zbwebcall.asp','test.txt');
//Penggunaan spesifik NMHTTP diinstal di Delphi. Saat ini terdapat contoh penggunaan NMHTTP di bawah BorlandDelphi5DemosFastNetHttp.
Semua di atas diimplementasikan menggunakan NMHTTP. Faktanya, komponen WebBrowser di Delphi juga dapat digunakan untuk mengirimkan data.
Catatan: WebBrowser1 adalah nama komponen WebBrowser, Frontpage_Form1 adalah nama form di halaman web yang dibuka dengan WebBrowser
Formulir di halaman web terlihat seperti ini:
<Nama FORMULIR=FrontPage_Form1 action=http://message.com.cn/cgi-bin/ips/webpage method=post>
...
</Formulir>
Metode implementasinya adalah dengan menggunakan program untuk menghasilkan halaman web berdasarkan informasi input pengguna, kemudian meneruskan WebBrowser1.Navigate (halaman web yang dihasilkan), dan terakhir mengirimkannya ke server Webbrowser1.OleObject.Document.FrontPage_Form1.submit(); selesai setelah paging