关于使用NSURLConnection发送get请求响应为nil的情况
2012-06-28 10:16
411 查看
1.在公司上网环境中用无线联网+无公司代理的方式:
NSString *results = [[NSString alloc] initWithBytes:[receivedData bytes] length:[receivedData length] encoding:NSUTF8StringEncoding];
返回的result是nil。但是测试eceivedData length 确不是0,证明确实从服务器返回了数据,只是编码转换失败。
改用:
NSString *results = [[NSString alloc] initWithData:receivedData encoding:CFStringConvertEncodingT*****StringEncoding(kCFStringEncodingGB_18030_2000)];
result就有值了,不为nil了。
2.在公司上网环境中用网线联网+公司代理的方式:
上面两个方法用后者不好使,前者好使。正好相反。
我猜测是不是我用的NSURLConnection发起的get请求,不会像webview那样智能的处理字符集。用网线联网+公司代理的方式,公司代理给我响应的是GB2312格式的。我用UTF-8转码就不好使。如果用无线联网+无公司代理的方式,对端服务器给我响应的是UTF-8编码的,用GB2312转码也不好使。
NSString *results = [[NSString alloc] initWithBytes:[receivedData bytes] length:[receivedData length] encoding:NSUTF8StringEncoding];
返回的result是nil。但是测试eceivedData length 确不是0,证明确实从服务器返回了数据,只是编码转换失败。
改用:
NSString *results = [[NSString alloc] initWithData:receivedData encoding:CFStringConvertEncodingT*****StringEncoding(kCFStringEncodingGB_18030_2000)];
result就有值了,不为nil了。
2.在公司上网环境中用网线联网+公司代理的方式:
上面两个方法用后者不好使,前者好使。正好相反。
我猜测是不是我用的NSURLConnection发起的get请求,不会像webview那样智能的处理字符集。用网线联网+公司代理的方式,公司代理给我响应的是GB2312格式的。我用UTF-8转码就不好使。如果用无线联网+无公司代理的方式,对端服务器给我响应的是UTF-8编码的,用GB2312转码也不好使。
相关文章推荐
- 使用HttpURLConnection开发自动发送Get、Post请求并获取响应
- HttpURLConnection 向服务器发送post和get请求 并接收响应
- 使用Java发送POST、GET请求【转】
- Ajax详解及其案例分析之如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表
- 使用Java发送GET、POST请求
- 关于TP5使用GuzzleHttp发送请求遇到的问题解决
- 我的Android进阶之旅------>Android发送GET和POST以及HttpClient发送POST请求给服务器响应
- PHP中的使用curl发送请求(GET请求和POST请求)
- Android HTTP实例 使用GET方法和POST方法发送请求
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- java 中使用URL发送get,post请求乱码问题
- 如何使用SOCKET 发送HTTP1.1 GET POST请求包 转载
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- android_30_使用HttpClient发送Get和Post请求
- Android开发使用GET方式向服务器请求和发送数据
- Android向EasyN摄像头发送http get请求获取媒体数据响应包
- Android HTTP实例 使用GET方法和POST方法发送请求
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- 使用HttpURLConnection向服务器发送post和get请求(转)
- Android使用Apache HttpClient发送GET、POST请求