问题描述
求大神解救,已经2个多月了,程序通过抓某宝搜索页面数据,通过winform程序,HttpRequest方式抓,时不时会返回验证码,但是ie浏览器打开又没有弹,程序返回里又有,请问我是哪里做错了!或则说如何能避免验证码请大神解救!以下是我的HttpRequest请求数据的代码HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);//声明一个HttpWebRequest请求request.Timeout=30000;request.Accept="*/*";request.UserAgent=Tools.UserAgent;if(string.IsNullOrEmpty(Tools.UserAgent))request.UserAgent="Mozilla/5.0";request.KeepAlive=true;if(!string.IsNullOrEmpty(cookie)){request.Headers[HttpRequestHeader.Cookie]=cookie;}//设置连接超时时间//request.Headers.Set("Pragma","no-cache");HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();StreamstreamReceive=response.GetResponseStream();StreamReaderstreamReader=newStreamReader(streamReceive,encode);strResult=streamReader.ReadToEnd();streamReader.Dispose();streamReceive.Dispose();response.Close();
解决方案
解决方案二:
只要在网页中能正常运行用winfrom那不是很简单?winform嵌入网页登陆后获得cookie用登陆cookie去请求登陆后需要抓取的请求就能得到想要的数据
解决方案三:
可能IE设置了弹出窗口拦截
解决方案四:
频繁访问是会出验证的。