【问题标题】:Webclient and LanguageWeb客户端和语言
【发布时间】:2012-12-07 10:12:26
【问题描述】:

我想用德语抓取谷歌建议:

string url = "http://google.de/complete/search?output=toolbar&q=" + txtResults.Lines[i].Replace(" ", "%20%");
WebClient client = new WebClient();
client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0");
client.Headers.Add("Accept-Encoding:", "gzip, deflate");
client.Headers.Add("Connection:", "keep-alive");
doc.Load(client.OpenRead(url), System.Text.Encoding.UTF8, true);

但我总是得到国际结果,而在浏览器中我通过给定的 .de url 得到德语结果。 所以我添加了标题:

client.Headers.Add("Accept-Language:", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");

但现在我得到了错误: 指定的值包含无效的 HTTP 标头字符

我还尝试通过

设置我的应用程序的语言
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");

但这也无济于事。

【问题讨论】:

    标签: c# web-scraping webclient


    【解决方案1】:

    尝试从标题名称中删除冒号 (:):

    client.Headers.Add("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 2019-12-20
      • 2020-08-09
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多