今天为了实现论坛自动登录发贴,作了如下尝试:
asp代码说明:
登录页面为:login.asp
要提交的表单两个:txt_user,txt_password
登录后提交的页面是:login_check.asp,该页面我的测试代码简单的只有以下:
username=trim(Request.Form("txt_user"))
response.write "username=" & username
password=trim(Request.Form("txt_password"))
response.write "password=" & password
--------------------------DELPHI代码如下(希望通过IDHTTP的POST方法实现自动登录)----------------------
procedure TForm1.Button2Click(Sender: TObject);
const
BaseURL = 'http://192.168.2.25/test/'; //论坛所在地址
UserName = 'sa'; //登录用户名
Password = '123'; //登录密码
var
Params: TStrings;
HTML: String;
MD5Pass: String;
ret:tstringstream;
begin
Params:=TStringList.Create;
ret:=TStringStream.Create('');
try
Params.Clear;
Params.add('txt_user='+UserName);
Params.Add('txt_password='+Password);
IDHttp.HandleRedirects := true;
IdHTTP.request.contenttype:='application/x-www-form-urlencoded';
IdHTTP.Request.Referer := BaseURL + 'login.asp';
IdHTTP.Post(BaseURL+'login_check.asp',Params,ret);
HTML:=ret.datastring;
Memo1.Lines.Text := HTML;
if Pos(BASEURL+cars.asp',HTML)=0 then //cars.asp是登录成功后会转向的页面
begin
ShowMessage('登录失败');
Exit;
end;
finally
Params.Free;
end;
end;
------------------
问题:按正常ASP应该是得到如下内容
username=sa
password=123
但实际遇到的问题是username=satxt_password=123
password=
不解!!!!!!为什么我传的是两个参数,但程序却把两个参数当作了一个参数是不是IDHTTP控件有BUG?
清醒一下,写篇博客再思考问题可能出在哪里。
分享到:
相关推荐
使用delphi XE的IdHTTP控件POST的例子,IDHTTP速度很快,是个不错的控件
Delphi使用IdHTTP控件操作Cookies的例子,之前没发现此类相关的例子,找的好辛苦,后来自己摸索写出来的,希望对各位有帮助。
IdHTTP控件操作Cookies的DELPHI实例.rar
IdHTTP控件操作Cookies的DELPHI实例..rar
使用IdHttp下载文件并显示下载进度条,下载进度采取windows消息通知的方式来显示
idhttp 使用代理访问20100303
delphi 7 idhttp post 的8种使用方法(含源码),介绍了8种使用方法,供学习交流使用。
多线程、IdHttp模拟登陆、delphi内嵌JavaScript实现解密加密代码、通过百度hi实现版本号验证、按账号绑定KEY。
分享一个示例代码,这是从网上下载的delphi7,六种idHttp.post的方法,经测试验证,可用,需在delphi7 IDE环境里安装indy idHttp控件,否则会打不开
INDY 控件 中 IDhttp 控件例子 delphi7
用delphi7 + idhttp做的投票软件
Delphi Xe10,通过Idhttp控件进行http get 的形式,实时获取新浪股票API接口提供的行情数据。
利用idhttp进行多线程下载,带进度条显示,可以暂停下载和继续下载,未使用第三方控件,在delphi xe7下测试通过。 昨天发的代码发现一个bug,就是无论几线程,都是从文件首部开始下载,才发现xe7下idhhtp控件的...
使用Indy的IdHTTP控件模拟网站的Get和POST操作
利用idhttp进行多线程下载,带进度条显示,可以暂停下载和继续下载,未使用第三方控件,在delphi xe7下测试通过。
delphi idhttp 循环 Post
DELPHIXE10.3.1 做IDHTTP开发SSL时,提示使用的2个DLL文件 libeay32.DLL 和 ssleay32.DLL 亲测可用
delphi操作IdHTTP报头读写 delphi操作IdHTTP报头读写
delphi 7 idhttp post 的8种使用方法(含源码),介绍了8种使用方法,供学习交流使用。
利用idhttp进行多线程下载,带进度条显示,可以暂停下载和继续下载,未使用第三方控件,在delphi xe10下测试通过。代码不是很好,仅实现了基本多线程下载的功能。