使用控件IdHttp遇到的奇怪现象
关键字: Delphi IDHTTP 自动登录 发贴今天为了实现论坛自动登录发贴,作了如下尝试:
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?
清醒一下,写篇博客再思考问题可能出在哪里。
- 00:02
- 浏览 (1617)
- 评论 (3)
- 分类: 其他编程
- 发布在 广州JavaEyer饭局群 圈子
- 相关推荐
评论
问题出在DELPHI代码:
这是原来代码的:
Params.add('txt_user='+UserName);
Params.Add('txt_password='+Password);
修改为以下代码(仅在第二个参数加了一个&):
Params.add('txt_user='+UserName);
Params.Add('&txt_password='+Password);
发表评论
- 浏览: 89285 次
- 性别:

- 来自: 广东

- 详细资料
搜索本博客
我的相册
共 5 张
最近加入圈子
最新评论
-
人间如风来烟去,几片光彩 ...
世间有百味,唯有淡淡的水可以一辈子品尝都不会厌倦。 平淡就是福,能够珍惜不容易。
-- by fshhui -
我生来忧伤
过去的你已不是今天的你 今天的你也不是明天的你 明天的你更不可预见 所以过去的 ...
-- by fshhui -
透过镜头抒写“程序人生” ...
人到中年,身上的担子越来越重,想的东西自然就多了。有同感。 可是能够放下的能有几 ...
-- by fshhui -
VBA简单实现两个Excel文 ...
你好。 请你尊重别人,不要随便透露别人的贷款信息!也许你是无心的,但已经给我造成 ...
-- by baizi17 -
出差一个月
去哪里学习?
-- by longaiqun001






评论排行榜