Quest'关于从请求中获取数据的评论

时间:2014-01-19 07:01:42

标签: c# xml post

我需要使用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

1 个答案:

答案 0 :(得分:0)

我将Endocding添加到streamReader并修复它。

StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(1255));