Skip to main content
 首页 » 编程设计

c#之Web 客户端和语言

2024年02月20日32luoye11

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

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 header 字符

我还尝试通过以下方式设置我的应用程序的语言

Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE"); 

但这也无济于事。

请您参考如下方法:

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

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