麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Delphi > 正文

用Delphi實(shí)現(xiàn)BP機(jī)、手機(jī)短訊

2019-11-18 18:49:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
很多人一定用過(guò)OICQ,想必也用過(guò)了它的BP機(jī)短訊、手機(jī)短訊,編程的朋友一定想實(shí)現(xiàn)這種功能,如果你的程序能發(fā)到手機(jī)、發(fā)到BP機(jī)一定很酷。現(xiàn)在我就介紹一種可行的方法。

  一、原理

  它不同于OICQ的雙方都在網(wǎng)上才能進(jìn)行交流的尋呼功能,它可以將文字信息發(fā)送到真正的尋呼機(jī)上。只要你能夠上網(wǎng),就可以自己動(dòng)手,隨時(shí)隨地將信息發(fā)送出去,即使你在國(guó)外,也可以利用它來(lái)向國(guó)內(nèi)的友人發(fā)送信息了,而且不用交納國(guó)際長(zhǎng)途費(fèi)用,是不是方便又省事呢!

  二、分析

  現(xiàn)在網(wǎng)上各尋呼臺(tái)都有網(wǎng)上服務(wù),網(wǎng)頁(yè)尋呼(Web Paging)就是常用的一種。它是通過(guò)在互聯(lián)網(wǎng)上訪問(wèn)尋呼臺(tái)的主頁(yè),然后由尋呼臺(tái)的信息尋呼系統(tǒng)打傳呼。所以我們只要利用HTTP協(xié)議就可以實(shí)現(xiàn)網(wǎng)絡(luò)尋呼了。以下就簡(jiǎn)單介紹一下HTTP協(xié)議: HTTP中完成一個(gè)會(huì)話通常要完成:

  1)客戶端程序與服務(wù)器建立連接

  2)發(fā)送請(qǐng)求

  3)服務(wù)器響應(yīng)客戶端

  4)關(guān)閉連接

  HTTP常用到的請(qǐng)求有:

   1)GET(請(qǐng)求一萬(wàn)維網(wǎng)頁(yè))

   2)HEAD(讀取一萬(wàn)維網(wǎng)頁(yè)的頭部)

   3)PUT(請(qǐng)求一存儲(chǔ)萬(wàn)維網(wǎng)頁(yè))

   4)POST(附加一個(gè)命名的資源)

   5)DELETE(刪除萬(wàn)維網(wǎng)頁(yè))

   6)LINK(連接兩個(gè)已有的資源)

   7)UNLINK(斷開(kāi)兩個(gè)已有資源的連接)

  HTTP中常用到的應(yīng)答狀態(tài)代碼有:(*號(hào)代表0-9間的一個(gè)數(shù))

   1. 1** (信息)

   2. 2**(成功)

   3.4**(客戶端錯(cuò)誤)

   4.5**(服務(wù)器錯(cuò)誤)

其實(shí)我們要實(shí)現(xiàn)的程序,只用POST、GET請(qǐng)求,收到正常應(yīng)答就可以了。POST可以用于把用戶輸入的數(shù)據(jù)以數(shù)據(jù)流的方式傳給CGI程序,CGI通過(guò)Contect-Length環(huán)境變量來(lái)取相應(yīng)長(zhǎng)度的數(shù)據(jù)流信息。

  POST請(qǐng)求格式如下:

  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

  服務(wù)器正常應(yīng)答的頭部結(jié)構(gòu)為:

   200 OK HTTP/1.0 說(shuō)明提交數(shù)據(jù)成功

  三、程序的實(shí)現(xiàn)

  Delphi中NMHTTP已經(jīng)可以很容易的實(shí)現(xiàn)上面的所說(shuō)的數(shù)據(jù)提交,而且它還支持Proxy、這樣對(duì)于通過(guò)代理服務(wù)器上網(wǎng)一樣可以適用,并且它不是OICQ中發(fā)送訊信所用到SOCKET5代理。

  新建一個(gè)窗體,加入組件一個(gè)ComboBox,命名為callto,用于存放尋呼對(duì)象,如國(guó)信尋呼就有95908、94908、94909、98062、98063、98019、98035、98052、98038、99055、98060、98061、98051、98003、99062、99016、99017、99018、99019、99046、99076;加入組件Edit,命名為tonumber,表示尋呼號(hào)碼;加入組件RadioGroup,命名為RadioGroup1,Caption設(shè)為呼機(jī)類型,items中加入兩項(xiàng),分別為中文機(jī)、數(shù)字機(jī);加入組件Edit,命名為firstName,用于表示發(fā)尋呼人的姓;加入組件RadioGroup,命名為RadioGroup2,Caption設(shè)為尋呼人性別,items中加入兩項(xiàng),分別為先生、小姐;加入組件Memo,命名為callmsg,用于輸入發(fā)送的信息(注:對(duì)于數(shù)字機(jī)只能是數(shù)字信息);加入組件NMHTTP,命名為NMHTTP1;加入Checkbox,命名為ifuseproxy,用于確定是否使用代理服務(wù)器;加入兩個(gè)Edit組件,分別用于軟件代理服務(wù)器地址、代理服務(wù)器端口;最后加入命令按鈕,Caption設(shè)為“發(fā)送”。

  現(xiàn)在以國(guó)信尋呼為例,它用GET請(qǐng)求就可以實(shí)現(xiàn)了,“發(fā)送”按鈕的程序代碼如下:

procedure TForm1.Button1Click(Sender: TObject);
var callstr:string;
begin callstr:='http://tcase 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=發(fā)送尋呼';
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;


  有些尋呼(如潤(rùn)迅尋呼就不能用上面的GET請(qǐng)求實(shí)現(xiàn),它要用POST請(qǐng)求),使用與上面相差不大,如下面是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;


// 把要提交的數(shù)據(jù)先放在test.txt文件中:格式為stnid=A&pageno=123456....

NMHTTP1.Post('http://www.wocall.com/script/zbwebcall.asp','test.txt');

file://NMHTTP的具體用法在Delphi安裝目前BorlandDelphi5DemosFastNetHttp下有個(gè)NMHTTP使用的例子。

  以上都是用NMHTTP實(shí)現(xiàn)的,其實(shí)用Delphi中的WebBrowser組件同樣可以完成數(shù)據(jù)的提交,使用是這樣的 Webbrowser1.OleObject.Document.FrontPage_Form1.submit();

  說(shuō)明:WebBrowser1是WebBrowser組件的名,Frontpage_Form1是用WebBrowser打開(kāi)的網(wǎng)頁(yè)中的表單名

  網(wǎng)頁(yè)中的表單是這機(jī)樣的:

<FORM action=http://message.com.cn/cgi-bin/ips/webpaging method=post name=FrontPage_Form1>
.......
</FORM>


這樣的實(shí)現(xiàn)方法就是用程序生成一個(gè)已經(jīng)按用戶輸入信息生成一個(gè)網(wǎng)頁(yè),然后通過(guò)WebBrowser1.Navigate(生成的網(wǎng)頁(yè)),最后提交到服務(wù)器Webbrowser1.OleObject.Document.FrontPage_Form1.submit();這樣就完成了一次尋呼

上一篇:如何在Delphi中實(shí)現(xiàn)ASP編程

下一篇:優(yōu)化delphi5.0秘籍大曝光

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門(mén)圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 伊人在线 | 国产精品av久久久久久网址 | 一级黄色影院 | 在线a毛片免费视频观看 | 久久久久久久久亚洲精品 | 国产自在线 | 色天天综合网 | 91精品国产综合久久男男 | 爽爽淫人综合网网站 | 一级色毛片 | 爱草成年| 久久久久久久亚洲精品 | 水多视频在线观看 | 久久免费毛片 | 亚洲一区二区三区日本久久九 | 在线a毛片免费视频观看 | 亚洲小视频网站 | 91精品国产手机 | 国产亚洲精品久久久久久网站 | 成人国产精品久久久 | 精品国产乱码久久久久久丨区2区 | 成人福利在线视频 | xxxx18韩国护士hd老师 | 特级无码毛片免费视频尤物 | 在线成人亚洲 | 欧美日韩手机在线观看 | 美女视频大全网站免费 | 欧美一级黄色免费看 | 欧美成人免费一区二区三区 | 羞羞网站 | 成人精品一区二区三区中文字幕 | 羞羞视频免费观看入口 | 在线播放亚洲精品 | 中国老女人一级毛片视频 | 精品国产91久久久久 | 亚洲男人一区 | 亚洲精品成人在线视频 | 蜜桃精品视频 | 亚洲导航深夜福利涩涩屋 | 国产精品视频一区二区三区四区国 | 亚洲综合91 |