a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

用Delphi實現BP機、手機短訊

2019-11-18 18:56:15
字體:
來源:轉載
供稿:網友
     很多人一定用過OICQ,想必也用過了它的BP機短訊、手機短訊,編程的朋友一定想實現這種功能,
如果你的程序能發到手機、發到BP機一定很酷。
     現在我就介紹一種可行的方法。
    一、原理
              它不同于OICQ的雙方都在網上才能進行交流的尋呼功能,它可以將文字信息發送到真正的尋呼機上。只要你能夠上網,就可以自己動手,隨時隨地將信息發送出去,即使你在國外,也可以利用它來向國內的友人發送信息了,而且不用交納國際長途費用,是不是方便又省事呢!
   二、分析
              現在網上各尋呼臺都有網上服務,網頁尋呼(Web Paging)就是常用的一種。它是通過在互聯網上訪問尋呼臺的主頁,然后由尋呼臺的信息尋呼系統打傳呼。所以我們只要利用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通過Contect-Length環境變量來取相應長度的數據流信息。
POST請求格式如下:
POST http://www2.scuta.edu.cn/stu/chatroom/check.asp HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-Powerpoint, application/vnd.ms-Excel, application/msWord, */*
Referer: http://www2.scuta.edu.cn/stu/
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
PRoxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
Host: www2.scuta.edu.cn
Content-Length: 87
Pragma: no-cache
Cookie: ASPsessionIDQGGGQHHE=ABGNNOJCIGOFCDLBIOLHKAFK
服務器正常應答的頭部結構為:
  200 OK HTTP/1.0  說明提交數據成功
    三、程序的實現
             Delphi中NMHTTP已經可以很容易的實現上面的所說的數據提交,而且它還支持Proxy、這樣對于通過代理服務器上網一樣可以適用,并且它不是OICQ中發送訊信所用到SOCKET5代理。
   新建一個窗體,加入組件一個ComboBox,命名為callto,用于存放尋呼對象,如國信尋呼就有95908、94908、94909、98062、98063、98019、98035、98052、98038、99055、98060、98061、98051、98003、99062、99016、99017、99018、99019、99046、99076;加入組件Edit,命名為tonumber,表示尋呼號碼;加入組件RadioGroup,命名為RadioGroup1,Caption設為呼機類型,items中加入兩項,分別為中文機、數字機;加入組件Edit,命名為firstName,用于表示發尋呼人的姓;加入組件RadioGroup,命名為RadioGroup2,Caption設為尋呼人性別,items中加入兩項,分別為先生、小姐;加入組件Memo,命名為callmsg,用于輸入發送的信息(注:對于數字機只能是數字信息);加入組件NMHTTP,命名為NMHTTP1;加入Checkbox,命名為ifuseproxy,用于確定是否使用代理服務器;加入兩個Edit組件,分別用于軟件代理服務器地址、代理服務器端口;最后加入命令按鈕,Caption設為“發送”。
現在以國信尋呼為例,它用GET請求就可以實現了,“發送”按鈕的程序代碼如下:
procedure TForm1.Button1Click(Sender: TObject);
  var callstr:string;
begin            callstr:='http://t     case RadioGroup1.ItemIndex of
       0:callstr:=callstr+'&pager_type=C';
       1:callstr:=callstr+'&pager_type=N';
     end;
     callstr:=callstr+'&firstname='+firstname.text;
     case RadioGroup2.ItemIndex of
       0:callstr:=callstr+'&title=0';
       1:callstr:=callstr+'&title=1';
     end;    
     callstr:=callstr+'&msg='+callmsg.Text+'&answer=null&B1=發送尋呼';
  NMHTTP1.InputFileMode := FALSE;
  NMHTTP1.OutputFileMode := FALSE;
  NMHTTP1.ReportLevel := Status_Basic;
  If ifuseproxy.Checked then
  Begin
    NMHTTP1.Proxy := Edit1.Text;
    NMHTTP1.ProxyPort := StrToInt(Edit2.Text);
  End;
  NMHTTP1.Get(callstr);
end;

有些尋呼(如潤迅尋呼就不能用上面的GET請求實現,它要用POST請求),使用與上面相差不大,如下面是NMHTTP的POST用法:
  NMHTTP1.InputFileMode:=False;
  NMHTTP1.OutputFileMode:=True; 
  NMHTTP1.ReportLevel:=Status_Basic;
  If ifuseproxy.Checked then
  Begin
    NMHTTP1.Proxy := Edit1.Text;
    NMHTTP1.ProxyPort := StrToInt(Edit2.Text);
  End;
  With NMHTTP1.HeaderInfo do
  Begin
    Cookie := Edit5.Text;
    LocalMailAddress := Edit6.Text;
    LocalProgram := Edit7.Text;
    Referer := Edit8.Text;
    UserID := Edit9.Text;
    Password := Edit10.Text;
  End;
//  把要提交的數據先放在test.txt文件中:格式為stnid=A&pageno=123456...
  NMHTTP1.Post('http://www.wocall.com/script/zbwebcall.asp','test.txt');
//NMHTTP的具體用法在Delphi安裝目前BorlandDelphi5DemosFastNetHttp下有個NMHTTP使用的例子。
以上都是用NMHTTP實現的,其實用Delphi中的WebBrowser組件同樣可以完成數據的提交,使用是這樣的 Webbrowser1.OleObject.Document.FrontPage_Form1.submit();
說明:WebBrowser1是WebBrowser組件的名,Frontpage_Form1是用WebBrowser打開的網頁中的表單名
網頁中的表單是這機樣的:
<FORM name=FrontPage_Form1  action=http://message.com.cn/cgi-bin/ips/webpaging  method=post>
......
</Form>
這樣的實現方法就是用程序生成一個已經按用戶輸入信息生成一個網頁,然后通過WebBrowser1.Navigate(生成的網頁),最后提交到服務器Webbrowser1.OleObject.Document.FrontPage_Form1.submit();這樣就完成了一次尋呼

上一篇:在DELPHI程序中使用ADO對象存取ODBC

下一篇:Delphi中實現文件拷貝的三種方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 一区二区在线视频 | av一级毛片| 91视频污软件 | 黄色毛片在线 | 高清久久久久 | 亚洲专区国产精品 | 九色视频网站 | 国产视频一区二区 | 无遮挡又黄又刺激的视频 | 国产免费亚洲 | 一区二区高清 | 天堂中文字幕 | 色欧美综合 | 日韩一区在线播放 | 亚洲精品一区久久久久久 | 欧美国产精品一区 | 在线免费黄色小视频 | 欧美福利一区二区 | 黄色毛片在线看 | 美女久久 | 午夜视频| 国产高清精品一区 | 99亚洲精品 | 国内精品一区二区 | 色婷婷综合在线 | 日韩av大全| 四虎成人精品永久免费av九九 | 日本xxxwww| av网站免费在线观看 | 精品国产不卡一区二区三区 | av下一页 | 激情视频在线观看免费 | 青青草原国产在线 | 黄色的视频免费 | 亚洲 国产 另类 精品 专区 | 国产精品一区人伦免视频播放 | 国产精品电影 | 色综合天天天天做夜夜夜夜做 | 久久草草影视免费网 | 国产精品99久久久久 | 国产精品久久久久久久久免费丝袜 |