您好我正在尝试创建一个检索网页内容的简单机器人。我对这个过程非常了解。我的最终目标是拥有一个可以通过在网上查找食品来检索食品信息的应用程序。我在这里的这个简单的代码应该去一个网页并打印出页面的源代码,但我一直被重定向,因为"用户代理字符串似乎来自自动化过程"。当然,它来自一个自动化过程...我在这里遗漏了什么?如何将我的用户代理字符串格式化为可在Web中接受?或者我需要以完全不同的方式处理这个问题?你现在必须要特别有网络追踪器吗?
try
{
HttpClient client = new HttpClient();
client.MaxResponseContentBufferSize = 25600;
HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responsebody);
}
catch (HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ", e.Message);
}
答案 0 :(得分:-1)
您可以更改user-agent
标题,以使您的程序伪造成浏览器。例如IE 10:
client.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");