Арабский WebRequest C # - PullRequest
       18

Арабский WebRequest C #

1 голос
/ 25 августа 2010

Я пытаюсь получить доступ к веб-сайту через 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 ]

1 голос
/ 25 августа 2010

Как Микаэль предложил попробовать это:

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"
0 голосов
/ 25 апреля 2011

Вот как вы это делаете в 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)
...