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

本文关键字:语言 HTML 数据 获取 网站 | 更新日期: 2023-09-27 18:30:29

有一个多语言网站。当我从浏览器查看 html 源代码时,我看到的是我的语言的数据。但是当我创建一个网络请求并获取 HTML 时,我得到了英文数据。

  • 在我的浏览器中,lang 属性是:lang="tr" xml:lang="tr"
  • 当我获取 HTML 时,它是: lang="en" xml:lang="en"

我想获取土耳其语的 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();

提前谢谢。

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

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

尝试添加Accept-Language请求标头。在 .NET 中,可以使用如下HttpRequestHeader.ContentLanguage

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

在 WebRequest 中,为以下内容添加标头条目:

 Accept-Language: tk

这将告诉 ASP.NET 您的首选语言。您必须实现语言切换功能。MSDN 在此处有一个 ASP.NET 全球化和本地化页面。