命名为callmsg,用于输入发送的信息(注:对于数字机只能是数字信息);加入组件NMHTTP,命名为NMHTTP1;加入Checkbox,命名为ifuseproxy,用于确定是否使用代理服务器;加入两个Edit组件,分别用于软件代理服务器地址、代理服务器端口;最后加入命令按钮,Caption设为“发送”。
现在以国信寻呼为例,它用GET请求就可以实现了,“发送”按钮的
程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var callstr:string;
begin callstr:=''http://tips.gxspace.com/cgi-bin/tips/webpaging?stn_id=''+callto.Text+''&page_no=''+tonumber.Text;
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安装目前\Borland\Delphi5\Demos\FastNet\Http下有个NMHTTP使用的例子。
以上都是用NMHTTP实现的,其实用Delphi中的WebBrowser组件同样可以完成数据的提交,使用是这样的 Webbrowser1.OleObject.Document.FrontPage_Form1.submit();
说明:WebBrowser1是WebBrowser组件的名,Frontpage_Form1是用WebBrowser打开的网页中的表单名
网页中的表单是这机样的: