我需要使用post方法从其他服务器获取数据。 当我用fiddler尝试它时,我正确地得到数据但是用c#,我有一个问题, 得到问题而不是希伯来字符。
这是我的C#代码:
private static string PostForm(string Host, string Body)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Host);
request.Method = "POST";
request.ContentType = "text/xml; encoding='windows-1255'";
byte[] bytes = (Encoding.GetEncoding(1255)).GetBytes(Body);
//bytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("windows-1255"), bytes);
request.ContentLength = bytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
var result = reader.ReadToEnd();
stream.Dispose();
reader.Dispose();
return result;
}
此方法在Body参数上获取主机地址和xml内容作为字符串。
在提琴手中,我在文档正文中编写了xml,仅此而且它完美无缺。
有什么建议吗? 10X
答案 0 :(得分:0)
我将Endocding添加到streamReader并修复它。
StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(1255));