很多人一定用過OICQ想必也用過了它的BP機短訊手機短訊編程的朋友一定想實現這種功能
如果你的程序能發到手機發到BP機一定很酷現在我就介紹一種可行的方法
一原理
它不同於OICQ的雙方都在網上才能進行交流的尋呼功能它可以將文字信息發送到真正的尋呼機上
只要你能夠上網就可以自己動手隨時隨地將信息發送出去即使你在國外也可以利用它來向
國內的友人發送信息了而且不用交納國際長途費用是不是方便又省事呢!
二分析
現在網上各尋呼台都有網上服務網頁尋呼(Web Paging)就是常用的一種它是通過在互聯網上訪問
尋呼台的主頁然後由尋呼台的信息尋呼系統打傳呼所以我們只要利用HTTP協議就可以實現網絡
尋呼了以下就簡單介紹一下HTTP協議 HTTP中完成一個會話通常要完成
)客戶端程序與服務器建立連接
)發送請求
)服務器響應客戶端
)關閉連接
HTTP常用到的請求有
)GET(請求一萬維網頁)
)HEAD(讀取一萬維網頁的頭部)
)PUT(請求一存儲萬維網頁)
)POST(附加一個命名的資源)
)DELETE(刪除萬維網頁)
)LINK(連接兩個已有的資源)
)UNLINK(斷開兩個已有資源的連接)
HTTP中常用到的應答狀態代碼有(*號代表間的一個數)
** (信息)
**(成功)
**(客戶端錯誤)
**(服務器錯誤)
其實我們要實現的程序只用POSTGET請求收到正常應答就可以了POST可以用於把用戶輸入
的數據以數據流的方式傳給CGI程序CGI通過ContectLength環境變量來取相應長度的數據流信息
POST請求格式如下
POST http://wwwscutaeducn/stu/chatroom/checkasp HTTP/
Accept: image/gif image/xxbitmap image/jpeg image/pjpeg
application/vndmspowerpoint application/vndmsexcel
application/msword */*
Referer: http://wwwscutaeducn/stu/
AcceptLanguage: zhcn
ContentType: application/xwwwformurlencoded
ProxyConnection: KeepAlive
UserAgent: Mozilla/ (compatible; MSIE ; Windows )
Host: wwwscutaeducn
ContentLength:
Pragma: nocache
Cookie: ASPSESSIONIDQGGGQHHE=ABGNNOJCIGOFCDLBIOLHKAFK
服務器正常應答的頭部結構為
OK HTTP/ 說明提交數據成功
三程序的實現
Delphi中NMHTTP已經可以很容易的實現上面的所說的數據提交而且它還支持Proxy這樣對於通過
代理服務器上網一樣可以適用並且它不是OICQ中發送訊信所用到SOCKET代理
新建一個窗體加入組件一個ComboBox命名為callto用於存放尋呼對象如國信尋呼就有加入組件Edit命名為tonumber
表示尋呼號碼加入組件RadioGroup命名為RadioGroupCaption設為呼機類型items中加入兩
項分別為中文機數字機;加入組件Edit命名為firstName用於表示發尋呼人的姓加入組件RadioGroup命名為RadioGroupCaption設為尋呼人性別items中加入兩項分別為先生小姐;
加入組件Memo命名為callmsg用於輸入發送的信息(注對於數字機只能是數字信息)加入組件NMHTTP命名為NMHTTP加入Checkbox命名為ifuseproxy用於確定是否使用代理服務器;加入兩
個Edit組件分別用於軟件代理服務器地址代理服務器端口最後加入命令按鈕Caption設為發送
[] []
From:http://tw.wingwit.com/Article/program/Delphi/201311/24875.html