Арабский WebRequest C#
Я пытаюсь получить доступ к веб-сайту через C#, используя WebRequest и объект WebResponse,
Я вошел на сайт и сохранил cookie для дальнейшего просмотра, проблема в том, что веб-сайт арабский, и почему-то я получил отформатированное сообщение с веб-сайта, указывающее, что мой браузер не поддерживает арабский язык.
Возможно, я могу что-то добавить к объекту запроса, чтобы веб-сайт поддерживал арабский язык.
Это код, который я использовал, пожалуйста, дайте мне знать, как его обновить:
string formUrl = "http://www.kuwaitlook.com/Ar/Residential.asp";
string formParams = string.Format("Mega={0}", searchTarget);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(formUrl);
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1);Accept-Language:ar";
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
req.Headers.Add("Cookie", cookieHeader);
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream()) {
os.Write(bytes, 0, bytes.Length);
}
WebResponse resp = req.GetResponse();
StreamReader streamReader = new StreamReader(resp.GetResponseStream());
using (StreamWriter writer = new StreamWriter("text.xml")) {
string line;
while ((line = streamReader.ReadLine()) != null) {
writer.WriteLine(line);
}
}
2 ответа
Как Микаэль предложил попробовать это:
HttpWebRequest request=(HttpWebRequest)WebRequest.Create("http://www.yourdomain.com");
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1);Accept-Language:ar"
Вот как вы делаете это в vb.net:
Dim SW As StreamWriter
Dim ar As System.Text.UTF8Encoding = New System.Text.UTF8Encoding
Request.ContentLength = ar.GetByteCount(your_string) ' Here
SW = New StreamWriter(Request.GetRequestStream(), ar) ' And Here
SW.Write(your_string)