模拟浏览器访问一个网址,如何实现?
各位牛牛,大家好。
模拟浏览器访问一个网址,如何快速访问网页?
现在是用这个方法的:
webBrowser1.Navigate(url);
需要循环访问上万个网址,这个方法速度似乎很慢,而且有超时的情况,有没有更好的办法呢?
------解决方案--------------------使用 httpwebrequest 类去访问。以此作为关键字自己google。
------解决方案--------------------不用控件
自己模拟http协议进行get请求
------解决方案--------------------需要循环访问上万个网址,这个方法速度似乎很慢,而且有超时的情况,有没有更好的办法呢?多线程+http协议进行get请求。 记录错误的访问,最后重复访问失败url(中间访问会耽误其它的时间).
------解决方案--------------------模拟post提交注册 看这贴 #4楼 活生生的例子。
可以发送get,post请求,可获取验证码。
可以使用GetHtml(url)获取网页源代码字符串。
------解决方案--------------------httpwebrequest 完全可以模拟浏览器的请求~
------解决方案--------------------1.webBrowser1.Navigate(url);
2.HttpWebRequest hwr = WebRequest.Create(URL) AS HttpWebRequest
hwr......
hwr......
hwr......
hwr......
相关属性设置。
HttpWebResponse 最后响应结果。
------解决方案--------------------HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
模拟
或process.start启动IP
或webbrower浏览器http://topic.csdn.net/u/20100622/14/0cde0446-91b0-4496-abbd-cebc445a4ff5.html
------解决方案--------------------
C# code
string result=string.Empty;
StringBuilder builder = new StringBuilder();
builder.Append("http://api.ctfeshop.com.cn/misc.ashx");
builder.Append("?");
builder.Append("action=gold");
builder.Append("&");
builder.Append("token="+strToken+"");
HttpWebResponse rsp = null;
HttpWebRequest req = null;
req = (HttpWebRequest)WebRequest.Create(new Uri(builder.ToString()));
req.ContentType = "application/x-www-form-urlencoded";
req.Accept = "*/*";
req.Timeout = 30000;//30秒连接不成功就中断
req.Method = "GET";
rsp = (HttpWebResponse)req.GetResponse();