Xan*_*rUu 2 c# asp.net xmlhttprequest
我正在使用ASP.NET来读取Request.InputStream并将HttpRequest发送给发送给我的页面抛出一个QueryString参数,我正确读取了Request.InputStream并正确地进行了HttpRequest,但是在我的Request.InputStream中我发现像这样的"Porsvägen"这样的特殊字符我得到了这个错误:ystem.Net.WebException:请求被中止:请求被取消了.---> System.IO.IOException:在写入所有字节之前无法关闭流.在System.Net.ConnectStream.CloseInternal(Boolean internalCall,Boolean aborting)
我获取Request.InputStream的代码是这样的:
string requestData = (new StreamReader(Request.InputStream)).ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
我制作HttpRequest并发送它的代码是这样的:
webRequest = (HttpWebRequest)WebRequest.Create(new Uri(urlDestination));
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = requestData.Length;
writer = new StreamWriter(webRequest.GetRequestStream());
writer.Write(requestData, 0, requestData.Length);//<-------Here I get the ERROR
if (writer != null)
{
writer.Close();
}
Run Code Online (Sandbox Code Playgroud)
你能否告诉我我的代码有什么问题,因为它有效,但对于特殊字符,它会崩溃.
我已经设法通过实现这个来克服错误:
string requestData = (new StreamReader(Request.InputStream)).ReadToEnd();
byte[] bytes = Request.ContentEncoding.GetBytes(requestData);
Stream writer = webRequest.GetRequestStream();
writer.Write(bytes, 0, bytes.Length);
Run Code Online (Sandbox Code Playgroud)
我用Stream来HttpWebRequest代替StreamWriter和InputStream用字节读取字节ContentEncoding
| 归档时间: |
|
| 查看次数: |
4285 次 |
| 最近记录: |