首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

idhttp post百度有关问题

2012-02-15 
idhttp post百度问题procedure TForm1.btn1Click(Sender: TObject)varParam:TStringListRStream:TString

idhttp post百度问题
procedure TForm1.btn1Click(Sender: TObject);
var
  Param:TStringList;
  RStream:TStringStream;
begin
  Param:=TStringList.Create;
  RStream:=TStringStream.Create('');
  
  Param.Add('username=showlee000');
  Param.Add('normModPsp=********');
  Param.Add('mem_pass=true');
  IdHTTP1.Post('http://passport.baidu.com/?login&tpl=mn',
  Param,RStream);

  mmo1.Text:=RStream.DataString;
end;

--------------------下面是登陆界面核心代码--------------------
  <tr> 
  <td width="50" class="f14">用户名:</td>
  <td width="156"><input type="text" name="username" id="username" value="showlee000" onChange="chechUserOld('username')" class="ip"/></td>
  </tr>
  <tr id="trPassNorm" style="display:none;"> 
  <td width="50" class="f14" valign="top">密 码:</td>
  <td width="156"><input type="password" id="normModPsp" value="" class="ip"/></td>
  </tr>

为什么登陆不成功?
  Param.Add('normModPsp=********');改成  
  Param.Add('password=********');就能成功

这是为什么

[解决办法]
建议再结合抓包程序看一下实际发出去的数据。
[解决办法]
看提交是是否确发了javascript 代码?
看看那部份代码
[解决办法]

路过~~~~~
友情up~~~~~~~~
[解决办法]

探讨
GET /images/loadin.gif HTTP/1.1
Accept: */*
Referer: http://my.baidu.com/index.html?my=1&tn=baidu_myps_pg
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: my.baidu.com
Connection: Keep-Alive
Cookie: run=1261369308640; NEWINFO_KEY=200912131; BAIDUID=C547FCC4CDEEBCEFA1D32E4BDF45F598:FG=1; USERID=8789c54b5a77954e76ca08f54bad; J_MY=1; OPENPLATFORM_SP=602373686f776c65653030305200_1261369596; BDUSS=lreFprWE4zazBOZmh6ZXNKTW9LTzVHZFdCTWFPT1poejZUMFpVTy1IZzZoMVpMQUFBQUFBJCQAAAAAAAAAAApBEw9gI1IAc2hvd2xlZTAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAO8RrAAAAAAAAAAAAAAAAsRZCAAAAAAAxMC42NS4yNDr6Lks6-i5LND


这是抓出来的包

[解决办法]
探讨
那请问我该如何去抓。我用的是WSockExpert

[解决办法]
探讨
刚才给领导办事,来晚了,不好意思


那有没有什么比较好的抓包工具,WSockExpert似乎没有抓到重要的包啊

[解决办法]
登陆百度必须先下载数字证书;下载SSL的加密DLL;记得以前SSL现在国外对国内封锁的;只有DLL下载;

基本解决办法;先手动下载数字证书;保存为文件;每次POST前读取证书;在证书过期前手动下载新的证书;
[解决办法]
WireShark抓包蛮好用的
[解决办法]
方案二:WebBrowser1 提交可以很简单的完成;但是兼容性不好;代码很多可以在网上搜索;

热点排行