日期:2014-05-17  浏览次数:21057 次

模拟浏览器访问一个网址,如何实现?
各位牛牛,大家好。
模拟浏览器访问一个网址,如何快速访问网页?
现在是用这个方法的: 
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();