iOS POST网络请求状态code:500的解决方案
来源:互联网 发布:python的多线程对象 编辑:程序博客网 时间:2024/06/05 03:47
iOS 10 用 [NSURLSession uploadTaskWithRequest:request fromData:jsondata completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error){}]; 进行post网络请求时 出现 500 错误
出现500 的错误 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。各种网络请求错误status code:详情
虽然出现这种原因是服务器的错误,我觉得服务器解析请求数据也有可能出现这个错误状态500,所以我从客服端入手。
打印返回时的 response 里面的值为:<NSHTTPURLResponse: 0x17003a900> { URL: 你的url地址 } { status code: 500, headers {
"Cache-Control" = private"Content-Length" = 3306;
"Content-Type" = "text/html; charset=utf-8";
Date = "Sun, 09 Oct 2016 07:45:13 GMT";
Server = "Microsoft-IIS/7.5";
"X-AspNet-Version" = "4.0.30319";
"X-Powered-By" = "ASP.NET";
} }
从中我们可以看到,返回类型不是json而是text/html类型
我们知道,在post请求是需要设置请求头数据类型,以上出错的请求我是这样设置的
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
这个设置方法是我从提交图片的网络请求方法拷贝过来的,即@"application/x-www-form-urlencoded"这个类型是提交图片的类型设置(提交图片时把提交图片参数转成NSData然后再转成base64的NSData提交)。而我的本次请求是提交json字符串的NSData类型。所以"Content-Type"的值设置成”application/json“即可。各种Content-Type的设置看这里
我的解决方法是重新设置 如下:
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
请求 response 大家可以和上面的做对比。
<NSHTTPURLResponse: 0x17403fe60> { URL: 你的url地址 } { status code: 200, headers {
"Cache-Control" = private;
"Content-Length" = 75;
"Content-Type" = "application/json; charset=utf-8";
Date = "Sun, 09 Oct 2016 07:56:16 GMT";
Server = "Microsoft-IIS/7.5";
"X-AspNet-Version" = "4.0.30319";
"X-AspNetMvc-Version" = "4.0";
"X-Powered-By" = "ASP.NET";
} }
现在的 status code: 200, 解决了 500 错误的问题。出现这个错误也有可能后台对数据的处理错误,或者后台返回的数据类型和前端设置需要返回的类型冲突等。还是得具体问题具体分析
- iOS POST网络请求状态code:500的解决方案
- 【iOS-网络】使用异步的post请求
- iOS网络请求的错误状态码
- IOS 基础的post 和 get网络请求总结
- ios自定义异步post网络请求的封装
- iOS-网络-同步请求、异步请求、GET请求、POST请求
- OkHttp的post网络请求
- java的post网络请求
- ios网络请求 get——post
- iOS 发送GET和POST网络请求
- iOS——GET POST 网络请求
- iOS NSURLSession网络请求(get/post/下载)
- iOS网络请求GET&POST,同步&异步
- ios开发之网络POST请求
- iOS 多个网络请求并发执行的解决方案
- IOS网络学习-5、GET请求和POST请求
- iOS开发网络篇—GET请求和POST请求
- iOS开发网络篇—GET请求和POST请求
- 好的网页记录
- 第一次博客之旅
- SYNFLOOD C++
- Android中方向问题(转变方向)以及 configChanges 配置不管用问题
- UE4 蓝图函数DownloadImage 的缺点
- iOS POST网络请求状态code:500的解决方案
- RAPIDxml的使用
- 数据结构课后题
- c++
- el表达式显示数字为科学计数的问题
- OpenCV 系列 --- 凸包
- 适配 iOS 10
- TCP/IP详解--拥塞控制 & 慢启动 快恢复 拥塞避免
- centos配置tomcat7