模拟POST验证码的问题
困扰了好几天的一个问题,问度娘好好多天也没找出个好的结果
我想要抓取某个查询页面POST后显示的结果,但始终没能解决验证码的问题
我看过原来论坛上有些个达人发过,比如这个:http://bbs.csdn.net/topics/390255236
我参考他这个做出来的依然是显示验证码错误,貌似他这个怎么获取验证码和显示页面内容是同步的~~?
我现在想做到的是:加载页面的时候显示该网站的验证码,AJAX提交后后台抓取结果页面最后返回结果到页面上
做过的谁能给个思路??不胜感激!!
------解决方案--------------------取验证码时要传cookie,post用同样的cookie
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------用HttpWebRequest的?
如果用这个的话,在获取验证的时候,把获取验证时候返回的CookieCollection保存起来,等到发送post的时候,把这个Collection传过去的
理论上这样就可以的
------解决方案--------------------验证码是图片吗?如果是图片,可以先将图片保存为字节,然后用一个远程打码,打码不贵(1分钱一个),一般情况下,获取验证码图片的同时,服务器会返回一个cookie,将这个cookie保存下来,然后在提交的时候,提交这个cookie和打码的结果。例如:
Uri uri = new Uri(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)";
request.Accept = "*/*";
request.Method = "get";
if (!string.IsNullOrEmpty(refer))
request.Referer = refer;
request.CookieContainer = new CookieContainer();
if (!string.IsNullOrEmpty(ip) && !string.IsNullOrEmpty(port))
request.Proxy = new WebProxy(ip, TypeParse.ObjToInt(port, 80));
&n