使用TIdHTTP控件进行页面访问

原创 2004年12月30日 11:37:00
red_smile.gifseabird

使用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;
-----------------------------------------
飘飘何所似?天地一沙鸥。

基于拦截器和注解实现页面的访问权限控制

在 web 系统中,经常需要对每个页面的访问进行权限控制。譬如,要进入 xx 公司的开放 平台, isv 需要注册成为开发者,开发者的状态有审核中、有效、冻结、拒绝、删除等状态,然后根据不同的状态,开...
  • A350204530
  • A350204530
  • 2016年12月12日 17:33
  • 1277

javaweb中添加过滤器,限制访问某些页面

问题: 在javaweb开发中,
  • u014482758
  • u014482758
  • 2014年10月25日 16:09
  • 1772

JSP页面在被访问的时候的执行过程

当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。JSP页面的执行过程如下图所示: 客户端通过浏览器向服务器发出请...
  • qq_36291682
  • qq_36291682
  • 2016年12月01日 18:14
  • 2245

Delphi xe5 控件TIdhttp的用法post,get解决中文乱码问题

网络接口如下图: 浏览器演示如下:http://112.64.158.30:7777/web/login!doLogin?data={"password":"yangtao123","userCo...
  • Syndicator
  • Syndicator
  • 2013年12月13日 15:47
  • 8051

用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应

使用Delphi的TIdHttp控件发起一个POST请求很简单,定义一个TStringList实例,往上面添加参数就行: procedure TForm1.Button1Click(Sender: T...
  • panjunbiao
  • panjunbiao
  • 2013年02月26日 23:42
  • 6642

[delphi]利用TidHTTP控件向目标PHP网页POST参数

最近在做一个功能(delphi),需要向163邮箱发送EMAIL,本想偷懒利用现成的Indy的smtp控件发送,结果发现163邮箱已对这类发送方式纳入垃圾邮件了.........
  • Code_GodFather
  • Code_GodFather
  • 2011年07月03日 23:32
  • 12835

各种方式对页面控件进行遍历

昨晚看了一篇博文,地址今天我没找到,上面是说对页面控件的遍历,令我恍然大悟,上个学期在做学生管理系统时,对控件进行初始化的时候都是一个一个的写;看了那片博文我才知道那样写太傻瓜了。所以打开vs10好好...
  • M_none
  • M_none
  • 2011年08月23日 11:44
  • 688

android判断网络是否可用并且可以使用原生刷新控件进行刷新

  • 2017年12月23日 14:30
  • 325KB
  • 下载

使用MFC控件进行编程

  • 2013年12月03日 22:08
  • 8.76MB
  • 下载

使用DataGrid控件进行数据查看,CDataGrid

  • 2011年04月02日 20:37
  • 312KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用TIdHTTP控件进行页面访问
举报原因:
原因补充:

(最多只允许输入30个字)