实际上,我正在编写一个 Windows 商店应用程序,我尝试解析一个网站,但不需要返回请求中有错误的响应。 我有一个快照,也许可以帮助我们找到解决方案 此代码适用于我尝试过的所有网站,但无法正常工作。
我使用这个源代码:
private async void parsingActualites()
{
HttpClient http = new System.Net.Http.HttpClient();
HttpClientHandler newClientHandler = new HttpClientHandler();
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
***var reponse = await http.GetByteArrayAsync("http://.........../");***
str3 = Encoding.UTF8.GetString(reponse, 0, reponse.Length - 1);
var strdecodet = System.Net.WebUtility.HtmlDecode(str3);
HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
document2.LoadHtml(str3);
向我显示的错误是:
Response status code does not indicate success: 403 (Forbidden).
资源
这是一张描述更多错误的图片,你能帮帮我吗:)
最佳答案
有一些 Web 服务器希望在请求中接收到 User-Agent
header (如果没有看到,它们会返回 403)。您可以添加一个 User-Agent
header ,例如如下所示:
HttpClient httpClient = new HttpClient();
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get,"http://example.com");
// Add our custom headers
requestMessage.Headers.Add("User-Agent", "User-Agent-Here");
HttpResponseMessage response = await httpClient.SendAsync(requestMessage);
关于c# - 从返回 403 forbidden 的网站解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20581117/