关于wp7中http的GetResponse抛异常的问题
2012-08-07 15:59
295 查看
昨天使用了http请求服务,用的是HttpWebRequest来创建的http连接。
结果总是在获取服务器响应状态时出现异常,下面是出异常的代码:
在执行
remote server returned an error: NotFound.
参考了部分资料,仍然是解决不了这个问题。
后来调整了post请求中的参数,竟然好了,返回状态码终于是200。
主要原因是服务器这边对post参数字段有一些特定的要求,比如必须是多少长度,或者不能遗漏哪个字段等等。
奇怪的是,如果是参数错误的话,接收的状态码应该是601(本服务器定义的状态码,指非法参数),但是它直接抛异常了;然而HttpStatusCode中的枚举量是没有这个值的(2XX 至 5XX),不知道是不是这个问题导致出现的异常。
结果总是在获取服务器响应状态时出现异常,下面是出异常的代码:
try { HttpWebRequest request = ar.AsyncState as HttpWebRequest; HttpWebResponse response = request.EndGetResponse(ar) as HttpWebResponse; using (var stream = response.GetResponseStream()) { StreamReader reader = new StreamReader(stream); string msg = reader.ReadToEnd(); } } catch (Exception e) { string a = e.ToString(); }
在执行
HttpWebResponse response = request.EndGetResponse(ar) as HttpWebResponse;这一句时报异常:The
remote server returned an error: NotFound.
参考了部分资料,仍然是解决不了这个问题。
后来调整了post请求中的参数,竟然好了,返回状态码终于是200。
主要原因是服务器这边对post参数字段有一些特定的要求,比如必须是多少长度,或者不能遗漏哪个字段等等。
奇怪的是,如果是参数错误的话,接收的状态码应该是601(本服务器定义的状态码,指非法参数),但是它直接抛异常了;然而HttpStatusCode中的枚举量是没有这个值的(2XX 至 5XX),不知道是不是这个问题导致出现的异常。
相关文章推荐
- 关于网络爬虫httpUrlConn.getResponseCode()取不到值得问题
- android请求http 关于connection.getResponseCode() 等于-1的问题
- 关于Filter中ServletRequest和ServletResponse强转HttpServletRequest和HttpServletResponse安全问题(向下转型一定不安全吗?)
- 关于ionic app $http.get()无法请求,导致页面没有数据的问题
- HttpGet HttpPost HttpPut HttpDelete关于参数请求问题
- 从XMLHttpRequest请求响应里getResponseHeader(header)报错:Refused to get unsafe header "**" 问题解决
- 如何解决httpResponse = httpClient.execute(httpGet);无法执行的问题?
- WinHttpRequest之get_ResponseText乱码问题
- 关于SpringMVC的rest的一个问题: HTTP Status 405 - JSPs only permit GET POST or HEAD.。
- HttpClient get请求在HttpResponse中无法获得Location的问题
- 关于CocoaPods的ruby镜像文件问题 Error fetching http://ruby.taobao.org/: bad response Not Found 404 (http://r
- 关于Filter中ServletRequest和ServletResponse强转HttpServletRequest和HttpServletResponse安全问题(向下转型一定不安全吗?)
- 关于http客户端常见错误"警告:Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
- Xutils-http-HttpClient get请求在HttpResponse中无法获得Location的问题
- 关于HttpWebResponse里拿不到Set-Cookie的问题
- 关于 HTTP GET/POST 请求参数长度最大值的问题
- httpclient 在获取返回值时,使用getResponseBodyAsString触发警告的问题
- 从XMLHttpRequest请求响应里getResponseHeader(header)报错:Refused to get unsafe header "**" 问题解决
- 关于HttpClient4.3.*的Post和Get提交乱码问题
- HttpClient get请求在HttpResponse中无法获得Location的问题