httpclient 模拟论坛登录 有验证码


http://club.eebbk.com/login

弄了大半天也没成功

   HttpClient httpClient = new HttpClient(); 
     httpClient.getHostConfiguration().setHost("club.eebbk.com", 80);
     PostMethod postMethod = new PostMethod(/login);

     NameValuePair username = new NameValuePair("userName", "yhqloveliuyifei");
     NameValuePair userpassword = new NameValuePair("userPassword", "5083291");
     NameValuePair code = new NameValuePair("code", CheckCode);
    
     postMethod.setRequestBody(new NameValuePair[] { username,userpassword,code}); 
    


     int statusCode = httpClient.executeMethod(postMethod);

     验证码的获取:
JLabel lb1 = new JLabel(new ImageIcon(new URL("http://club.eebbk.com/checkcode")));


如果不输入验证码的话,会提示验证码不能为空,返回的状态码为302,如果输入验证码,不管输错输对,返回的状态码都是200,这里应该返回302,提示成功或者错误信息,不应该是200,在这里求大神们指导下该怎么弄?

9 个解决方案

#1


换个网站试。
你试的这个网站可能不怎么样。

#2


引用 1 楼  的回复:
换个网站试。
你试的这个网站可能不怎么样。


额。。。我就是要弄这个网站的。。。

#3


尴尬了~~~

可能是你对验证码的判断没有做完吧。

#4


引用楼主  的回复:
如果输入验证码,不管输错输对,返回的状态码都是200,这里应该返回302,提示成功或者错误信息,不应该是200,在这里求大神们指导下该怎么弄?


不要光看状态码是200。

也要把反馈页面完整打印出来,看看内容是什么,说不定就是一句话“验证码错误”啥的。。。

#5


引用 4 楼  的回复:
引用楼主  的回复:
如果输入验证码,不管输错输对,返回的状态码都是200,这里应该返回302,提示成功或者错误信息,不应该是200,在这里求大神们指导下该怎么弄?


不要光看状态码是200。

也要把反馈页面完整打印出来,看看内容是什么,说不定就是一句话“验证码错误”啥的。。。


打印了是空的。。啥也没有。。

#6


我看了下,恐怕这个网站没这么简单就能登录。

建议你也装个HttpWatcher在IE上,可以截获所有的流信息。

在POST表单前,页面先做了一次验证码检测:
GET /code?code=89934&d=1342950249754&jsoncallback=jQuery1640006495118715272474_1342950234980&_=1342950249755 HTTP/1.1

服务器端返回了一个很有意思的内容:
jQuery1640006495118715272474_1342950234980({rs:'1'})

然后表单才正式提交。

建议你要完整跟踪所有的页面流情况,尤其是很可能有某些Cookie信息和隐藏域的信息。

#7


引用 6 楼  的回复:
我看了下,恐怕这个网站没这么简单就能登录。

建议你也装个HttpWatcher在IE上,可以截获所有的流信息。

在POST表单前,页面先做了一次验证码检测:
GET /code?code=89934&d=1342950249754&jsoncallback=jQuery1640006495118715272474_1342950234980&_=134295……


我也装了。。。

GET /code?code=89934&d=1342950249754&jsoncallback=jQuery1640006495118715272474_1342950234980&_=1342950249755

这个验证码检测,我看不懂。code后面那个是你填的验证码,后面那一串每次都不一样,我不知道是怎么验证的,难道是随机的么?

jQuery1640006495118715272474_1342950234980({rs:'1'})
这个是返回了1,也就是验证码正确,如果rs后面不是跟的1,说明验证码错误。。

现在关键的问题是怎么去模拟验证码的验证。。

#8


额。。没人知道么。。

#9


楼主有没有带验证码的模拟登录啊,跪求源码。能发的话,发送到245641147@qq.com,,再次跪谢
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告