There is a multilingual website. When I view the html source from browser, I see the data in my language. But when I create a webrequest and fetch HTML, I get the data in English.
- In my browser, lang attribute is: lang=”tr” xml:lang=”tr”
- When I fetch the HTML it is: lang=”en” xml:lang=”en”
I want to fetch the HTML in Turkish. How can I do this?
This is how I fetch:
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();
Thanks in advance.
Try to add
Accept-Languagerequest header. In .NET you could useHttpRequestHeader.ContentLanguagelike this: