CSDN博客

img delphiseabird

使用TIdHTTP控件进行页面访问

发表于2004/12/30 11:37:00  929人阅读

seabird

使用TIdHTTP控件进行页面访问
procedure MSG(var theuser:TUserInfo);
var
Url: string;
tempstr:widestring;
Response : TStringStream;
Request : TStrings;//用于存贮传向目的页面的信息,随Request传送,将自动封装于Form中
sqlid,code,status:string;
temp:integer;
mystringlist:TStringList;
begin
////////////IdHTTP_main是个TIdHTTP控件
Response := TStringStream.Create('');
Request := TStringList.Create ;
try
Url:='http://coderClub/sms/hz/xx.asp';
Request.Append('seqid='+theuser.SeqID);
Request.Append('mobile='+theuser.Mob);
Request.Append('spcode='+theuser.Spc);
Request.Append('msg='+theuser.Msg);
Service1.IdHTTP_main.Request.ContentType :='application/x-www-form-urlencoded';
Service1.IdHTTP_main.Post(Url,Request,Response);
//Response.DataString存贮着返回页面的html代码,本例以一下方式获得其中信息
tempstr:=LowerCase(Response.DataString);
tempstr:=LeftStr(tempstr,pos('</returndeliver>',tempstr)+16);
temp:=pos('<seqid>',tempstr);
sqlid:=MidStr(tempstr,pos('<seqid>',tempstr)+7,pos('</seqid>',tempstr)-temp-7);
if not IsNumber(sqlid) then
begin
mystringlist:=TStringList.Create;
if FileExists(ExtractFilePath(Paramstr(0))+'Err.txt') then
mystringlist.LoadFromFile(ExtractFilePath(Paramstr(0))+'Err.txt');
mystringlist.Add('('+DateTimeToStr(Now)+')seqid('+sqlid+')未知');
mystringlist.SaveToFile(ExtractFilePath(Paramstr(0))+'Err.txt');
mystringlist.Free;
end
else
begin
code:=MidStr(tempstr,pos('<code>',tempstr)+6,pos('</code>',tempstr)-pos('<code>',tempstr)-6);
if not IsNumber(code) then
begin
mystringlist:=TStringList.Create;
if FileExists(ExtractFilePath(Paramstr(0))+'Err.txt') then
mystringlist.LoadFromFile(ExtractFilePath(Paramstr(0))+'Err.txt');
mystringlist.Add(DateTimeToStr(Now)+'[sqlid:'+sqlid+']错误码未知');
mystringlist.SaveToFile(ExtractFilePath(Paramstr(0))+'Err.txt');
mystringlist.Free;
code:='1';
status:='(错误码未知)';
end;
status:=status+MidStr(tempstr,pos('<status>',tempstr)+8,pos('</status>',tempstr)-pos('<status>',tempstr)-8);
with Service1.ADOQuery_temp do
begin
Connection:=conn_Client;
Close;
SQL.Clear;
SQL.Add('update '+GameInfo.deliver_table_log+' set code='+code+',status='''+status+''' where seqid='+theuser.SeqID);
ExecSQL;
end;

end;
finally
Request.Free ;
Response.Free ;
end;

////////////
end;
-----------------------------------------
飘飘何所似?天地一沙鸥。
0 0

相关博文

我的热门文章

img
取 消
img即使是一小步
也想与你分享
打开
img