阿拉伯语的WebRequest C#
我想使用的WebRequest和WebResponse对象通过C#来访问网站,阿拉伯语的WebRequest C#
我登录到网站,并保存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);
}
}
喜欢的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-26 07:32:57
您可以通过以下字符串来控制支持的语言:“Accept-Language:ar”,其中ar代表阿拉伯语。有关语言的完整列表,请参阅: http://www.loc.gov/standards/iso639-2/php/code_list.php – 2010-08-26 13:51:16
这里是你如何在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)
设置用户代理字符串以包含阿拉伯语言。可能解决你的问题。 – 2010-08-25 12:19:51