HttpWebRequest返回503错误浏览器却能正常访问是什么原因??

weimeiangle1 2012-05-26 02:14:41
HttpWebRequest MyHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.amazon.com/gp/offer-listing/B004PLY1EG");
MyHttpWebRequest.Timeout = 1000 * 60 * 10 * 10;
httpWebResponse = (HttpWebResponse)MyHttpWebRequest.GetResponse();
求解。
...全文
1290 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ParanoidKing 2012-05-28
  • 打赏
  • 举报
回复
可以的。比如用Win7下简体中文IE8访问网站,用Fiddler抓下请求的信息,在http头里面会看到下面的数据:
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; 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)
然后照单填进HttpRequest里就行了:

MyHttpWebRequest.Accept = "*/*";
MyHttpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
MyHttpWebRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-CN");
MyHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; 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)";

另外WinForm里有一个WebBrowse控件可以获取网页内容:

WebBrowser webBrowser = new WebBrowser();
Uri url = new Uri("http://www.amazon.com/gp/offer-listing/B004PLY1EG");
webBrowser.Url = url;
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler((sender, e) =>
{
if (e.Url == url)
{
string content = ((WebBrowser)sender).DocumentText;
}
});
weimeiangle1 2012-05-26
  • 打赏
  • 举报
回复
上述方法还是不行 也会返回503错误 有谁知道.如何用c#调用ie或firefox浏览器获得网页内容吗?
bdmh 2012-05-26
  • 打赏
  • 举报
回复
用抓包工具,看看浏览器访问网站时,都有哪些参数,然后按照 1 楼的方法,把参数写到对应的属性中
孟子E章 2012-05-26
  • 打赏
  • 举报
回复
503状态码的含义是“Service Unavailable”,即临时不可访问(或许服务器不稳定、网站关闭等原因造成的)。

你可以改成这样

HttpWebRequest MyHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.amazon.com/gp/offer-listing/B004PLY1EG");
MyHttpWebRequest.Timeout = 1000 * 60 * 10 * 10;
MyHttpWebRequest.Proxy = null;
MyHttpWebRequest.Method = "GET";
MyHttpWebRequest.Accept="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
MyHttpWebRequest.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
MyHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 5.2; rv:12.0) Gecko/20100101 Firefox/12.0";
HttpWebResponse httpWebResponse = (HttpWebResponse)MyHttpWebRequest.GetResponse();

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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