DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 4
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 kingzgh (小猪猪) ★☆☆☆☆ -
盒子活跃会员
2010/4/5 15:25:16
标题:
如何在idhttp1使用WPE查出的信息进行网页登录 浏览:2236
加入我的收藏
楼主: WPE中查出的信息如下:

POST /login.php? HTTP/1.1..Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*..Referer: http://bbs.hualongxiang.com/login.php?..Accept-Language: zh-cn..Con


forward=&jumpurl=http%3A%2F%2Fbbs.hualongxiang.com%2Findex.php&step=2&lgt=0&pwuser=wsxzz_1998&pwpwd=aaaabbbb&hideid=0&cktime=31536000&submit=%B5%C7%C2%BC

请问如何编程利用idhttp1实现自动登录
----------------------------------------------
-
作者:
男 windmil (风车) ★☆☆☆☆ -
普通会员
2010/4/5 15:58:04
1楼: 是用webbrowser实现网页登录 ,还是用idhttp登录 拿到登录 后的网页源码?
----------------------------------------------
-Delphi Tips Study
作者:
男 kingzgh (小猪猪) ★☆☆☆☆ -
盒子活跃会员
2010/4/5 17:01:57
2楼: 用idhttp登录,就是不知道代码怎么写啊???
我写了很多就是不正确啊
----------------------------------------------
-
作者:
男 kingzgh (小猪猪) ★☆☆☆☆ -
盒子活跃会员
2010/4/5 19:23:48
3楼: 网址是http://bbs.hualongxiang.com/login.phi
用户名wsxzz_1998
密码是aaaabbbb
----------------------------------------------
-
作者:
男 windmil (风车) ★☆☆☆☆ -
普通会员
2010/4/6 23:44:08
4楼: procedure TForm1.Button1Click(Sender: TObject);
var
  code: string;
  done: Boolean;
  postList: TStrings;
  Response: TStringStream;
begin
  memo1.clear;

  // 开始登录代码
  Response := TStringStream.Create('', TEncoding.UTF8);
  postList := TStringList.Create;
  try
    IdHTTP1.HandleRedirects := True;

    postList.add('cktime=31536000');
    postList.add('forward=');
    postList.add('hideid=0');
    postList.add('jumpurl=http://bbs.hualongxiang.com/index.php');
    postList.add('lgt=0');
    postList.add('pwpwd=aaaabbbb');
    postList.add('pwuser=wsxzz_1998');
    postList.add('step=2');
    postList.add('submit=¼');

    IdHTTP1.Post('http://bbs.hualongxiang.com/login.php', postList, Response);
    done := True;
  except
    done := false;
  end;

  if (done) and (Pos('200 OK', IdHTTP1.ResponseText) <> 0) then
  begin
    code := IdHTTP1.Get('http://bbs.hualongxiang.com/index.php&#39;);
    memo1.lines.add(code);
  end
  else
  begin
    memo1.lines.add('登录失败,失败代码:' + IdHTTP1.Response.RawHeaders.Text);
  end;
  Response.Free;
  postList.Free;

end;

拿到的信息中有如下代码:
<span class="cl333"><b><a href="http://jia.hualongxiang.com/u.php?action=show";  style="color:#333">wsxzz_1998</a>,您好!</b></span><a href="login.php?action=quit&verify=761c2a99">[退出]</a>
我想应当是正确登录了
----------------------------------------------
-Delphi Tips Study
作者:
男 kingzgh (小猪猪) ★☆☆☆☆ -
盒子活跃会员
2010/4/8 12:38:41
5楼: 楼上的高手能不能说一说为什么叫加post网址里面要加入“'”,这个从什么地方知道的啊????能详细说一说吗????
----------------------------------------------
-
作者:
男 kingzgh (小猪猪) ★☆☆☆☆ -
盒子活跃会员
2010/4/8 13:06:48
6楼: Response := TStringStream.Create('', TEncoding.UTF8);  这个提示不对

IdHTTP1.Post('http://bbs.hualongxiang.com/login.php', postList, Response);这个也不对,postlist前面的逗号再前面有分号
----------------------------------------------
-
作者:
男 windmil (风车) ★☆☆☆☆ -
普通会员
2010/4/8 13:53:42
7楼: 上面是2010下做的,delphi7自带的indy好象也不得,要用delphi7就升级一下indy
,Response := TStringStream.Create('', TEncoding.UTF8); 改成
Response := TStringStream.Create(' ');
装个httpwatch就知道为什么要加这些东西了

论坛上有些代码显示乱码,写我博客上了,自己去看一下吧
http://www.freedelphitips.com/log-inwebsite-using-idhttp.html
----------------------------------------------
-Delphi Tips Study
作者:
男 kingzgh (小猪猪) ★☆☆☆☆ -
盒子活跃会员
2010/4/8 14:56:29
8楼: windmil 你真的太热心了啊,非常感谢,学到不少东西了
----------------------------------------------
-
作者:
男 zhpss (TIGER) ▲▲▲▲▲ -
普通会员
2010/10/9 12:03:36
9楼: 我用一个不存在的ID登录。也会返回20OK。
----------------------------------------------
-
作者:
男 lalaboy (拉拉) ★☆☆☆☆ -
普通会员
2011/2/26 1:55:20
10楼: 返回20OK。
是指页面存在.并不是指登陆成功.
登陆成功了你得看POST后得到的源文件中去查找特征
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行60.54688毫秒 RSS