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

验证码 获取后 POST顺利 但还是不能自动登陆

2011-12-10 
验证码 获取后 POST成功 但还是不能自动登陆最近学习识验证码自动登陆网站。按CSDN朋友们的方法。都实现得差

验证码 获取后 POST成功 但还是不能自动登陆
最近学习识验证码自动登陆网站。按CSDN朋友们的方法。都实现得差不多了。
一,按地址直接下载验证码图形   识别已成功。
二,POST   数据我测试也可以成功。
一些网站可以实现自动登陆了。

但发现一个网站POST       用户、密码、识别的验证码后。页面仍然返回验证码验证失败。

这个网站   验证码上点右键属性是这样的http://www.XXX.com/XXX/com.huawei.icd30.wskf.console.TextBufferedImage

嵌入网页时,它放在一个单元格里,是这样子的:
<td   width= "20% ">
<span   class= "aa ">  
<img   src= "/servlet/com.huawei.icd30.wskf.console.TextBufferedImage ">   </span>
</td>

我用   VB.net   http://www.XXX.com/XXX/com.huawei.icd30.wskf.console.TextBufferedImage
这个地址后识别了验证码。最后POST   还是返回页面。说验证码错误。

我在机子上   自已写了一个   1.htm       构造一个form   post都成功了。写在VB.net工具下。就不行了。
抓包看过了。     软件提交和   网页提交   的数据是一样的。
现在想   是不是直接获取那个验证码地址   这样子不行。唉。不解……

[解决办法]
不明白,帮你顶一下,还想问一下你的验证码图形是如何识别的?
[解决办法]
莫非楼主想做黑客?非法进入这个网站?
[解决办法]
保存cookies 确保获取验证码和post是同一次访问
[解决办法]
貌似那些个网站不是你的...
[解决办法]
给你一个例子:
string postData = "uUsername=avoid&uPassword=123456 ";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(postData);

request = (HttpWebRequest)WebRequest.Create(sUrl);
request.Method = "POST ";
request.ContentType = "application/x-www-form-urlencoded ";
request.ContentLength = data.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(data, 0, data.Length);

newStream.Close();

request.CookieContainer = cc;

response = (HttpWebResponse)request.GetResponse();
cc.Add(response.Cookies);
stream = response.GetResponseStream();
sHtml = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
///////////////////////////
private CookieContainer cc = new CookieContainer();

热点排行