2012-04-10 14 views
0

Es gibt eine mehrsprachige Website. Wenn ich die HTML-Quelle vom Browser aus anschaue, sehe ich die Daten in meiner Sprache. Aber wenn ich eine Webanfrage erstelle und HTML hole, bekomme ich die Daten in Englisch.Abrufen der HTML-Daten verschiedener Sprachen von der mehrsprachigen Website

  • In meinem Browser, lang-Attribut ist: lang = "tr" xml: lang = "tr"
  • Wenn ich hole das HTML es ist: lang = "de" xml: lang = "en"

Ich möchte den HTML in Türkisch abrufen. Wie kann ich das machen? Diese


ist, wie ich holen:

 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(); 

Vielen Dank im Voraus.

Antwort

1

Versuchen Sie, Accept-Language Anfrage Header hinzuzufügen. In .NET können Sie HttpRequestHeader.ContentLanguage wie folgt verwenden:

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

danke für Ihre Hilfe. Ich habe das gleiche in anderer Weise verwendet als: request.Headers.Add ("Akzeptiere-Sprache: tr-tr, tr; q = 0.8, en-us; q = 0.5, en; q = 0.3"); – burakokumus

0

In WebRequest, einen Kopfeintrag für hinzufügen:

Accept-Language: tk 

Welche ASP.NET Ihre bevorzugte Sprache erzählen. Sie müssen die Sprachumschaltung implementiert haben. MSDN hat eine Seite für ASP.NET Globalization and Localization hier.

+0

Vielen Dank :) – burakokumus

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

Vielen Dank für Ihre Hilfe. Ich benutzte etw ähnlich wie: request.Headers.Add ("Accept-Sprache: tr-tr, tr; q = 0.8, en-us; q = 0.5, en; q = 0.3"); – burakokumus