1

WebRequestとWebResponseオブジェクトを使用してC#経由でWebサイトにアクセスしようとしています。

サイトにログオンし、Cookieを保存してさらに閲覧しました。問題は、Webサイトがアラビア語であり、ブラウザがアラビア語をサポートしていないことを示すフォーマットされたメッセージをWebサイトから受け取ったことです。

おそらく、リクエストオブジェクトに何かを追加して、アラビア語がサポートされているWebサイトを確保することができます。

これは私が使用したコードです。更新方法を教えてください。

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);
    }
}
4

2 に答える 2

1

Mikaelが提案したように、これを試してみてください:

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"
于 2010-08-25T13:28:17.857 に答える
0

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)
于 2011-04-25T03:08:38.973 に答える