2
我试图修补RestSharp,因为它能够POST
具有非ASCII字符的XML作为POST
请求正文。使用非ASCII字符发布XML
下面是它如何被写成:
private void WriteRequestBody(HttpWebRequest webRequest) {
if (HasBody) {
webRequest.ContentLength = RequestBody.Length;
var requestStream = webRequest.GetRequestStream();
using (var writer = new StreamWriter(requestStream, Encoding.ASCII)) {
writer.Write(RequestBody);
}
}
}
RequestBody
是一个字符串,当服务器实际上是尝试解析请求,所有非ASCII字符变成???
。
现在,我做了以下内容:“可以,直到所有的字节都写不关闭流”
var encoding = Encoding.UTF8;
webRequest.ContentLength = encoding.GetByteCount(RequestBody);
var requestStream = webRequest.GetRequestStream();
using (var writer = new StreamWriter(requestStream, encoding)) {
writer.Write(RequestBody);
}
但它Stream.Dispose()
抛出IOException
说
如何发布此XML?