0

您好我正在尝试创建一个简单的机器人来检索网页的内容。我对这个过程非常了解。我的最终目标是开发一款可以通过在网络上查找食品信息来检索食品信息的应用程序。我在这里拥有的这个简单代码只是应该转到网页并打印出该页面的源代码,但我一直被重定向,因为“用户代理字符串似乎来自自动化过程”。当然,它来自一个自动化过程......我在这里错过了什么吗?如何格式化我的用户代理字符串以在网络中被接受?还是我需要以完全不同的方式处理这个问题?您现在必须特别才能拥有网络爬虫吗?

 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);
 }
4

1 回答 1

-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)");
于 2013-10-08T07:57:09.817 回答