如何模拟浏览器进行网页数据下载

hsmc_mcm 2010-07-12 05:22:11
我有段代码对指定网页进行数据下载,但是运行后出现:远程服务器返回错误(403)已禁止
搜索后发现应该是改网站限制程序进行页面访问,但是IE可以,所以我想模拟浏览器对网页进行数据的抓取,请高手们提供以下示例代码吧,感激不尽!

我的原来的代码如下:

url = "http://www.***.com/***.php";
html = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //错误出在这里,远程服务器返回错误: (403) 已
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.Default);
html = reader.ReadToEnd().Replace("\r\n", "");
response.Close();

搜索资料说还应该对request信息头不对,还漏了一些没有设置,导致了网站判定为程序访问,所以没通过,我应该如何设置信息呢,我想模拟IE进行访问,请高手们提供下设置的代码吧!
...全文
251 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsmc_mcm 2010-07-12
  • 打赏
  • 举报
回复
感谢4楼,用你的语句已经解决
thoughter 2010-07-12
  • 打赏
  • 举报
回复
如果只是"限制程序进行页面访问"的话,加入这句试试

request.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";

还有这些可以设置的内容

request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
//request.KeepAlive = true;
request.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
//request.AllowAutoRedirect = true;
hsmc_mcm 2010-07-12
  • 打赏
  • 举报
回复
是否允许匿名访问
文件夹的读写权限HttpWebRequest.Credentials
属性进行身份认证

允许匿名访问,允许读,属性无身份认证
wuyq11 2010-07-12
  • 打赏
  • 举报
回复
是否允许匿名访问
文件夹的读写权限HttpWebRequest.Credentials
属性进行身份认证
小夏天~ 2010-07-12
  • 打赏
  • 举报
回复
帮不上忙,so sorry。。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧