从多语言网站获取不同语言的HTML数据

时间:2012-04-10 08:06:46

标签: c# html html-parsing multilingual fetch

有一个多语言网站。当我从浏览器查看html源代码时,我会看到我的语言中的数据。但是当我创建webrequest并获取HTML时,我会用英语获取数据。

  • 在我的浏览器中,lan​​g属性为:lang =" tr" XML:LANG =" TR"
  • 当我获取HTML时,它是:lang =" en" XML:LANG ="恩"

我想用土耳其语获取HTML。我怎样才能做到这一点?


这是我取道的方式:

        WebRequest request = WebRequest.Create(webUrl);
        request.Method = "POST";
        byte[] byteArray = Encoding.UTF8.GetBytes("");
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = byteArray.Length;

        Stream dataStream = request.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();

        WebResponse response = request.GetResponse();
        dataStream = response.GetResponseStream();

        StreamReader reader = new StreamReader(dataStream);
        htmlcontent = reader.ReadToEnd();

        reader.Close();
        dataStream.Close();
        response.Close();

提前致谢。

3 个答案:

答案 0 :(得分:2)

WebHeaderCollection headerCollection = request.Headers;    
headerCollection.Add("Accept-Language:tr");

答案 1 :(得分:1)

尝试添加Accept-Language请求标头。在.NET中,您可以像这样使用HttpRequestHeader.ContentLanguage

request.Headers[HttpRequestHeader.AcceptLanguage] = 
                                         "tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4";

答案 2 :(得分:0)

在您的WebRequest中,添加标题条目:

 Accept-Language: tk

这将告诉ASP.NET您的首选语言。您必须实现语言切换功能。 MSDN在这里有一个ASP.NET Globalization and Localization的页面。