对于初入职场的iOS小伙伴们, 搭建UI--大家肯定是没什么问题了.

而对于网络请求的POST和GET, 应该还是会有问题;

例如, 如何将APP的token捆绑到请求中, 进行文件的上传 -- 现在我们就来解决下面两个问题:

1,如何将token添加到请求头?     2, 上传失败, 会出现的部分error解决.

问题一: 添加token到请求头的代码如下:

NSDictionary *dict =  @{@"name" : @"小明",

@"age" :@"20"

};

//实例化AFHTTPSessionManager

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

//调出请求头

manager.requestSerializer = [AFJSONRequestSerializer serializer];

//将token封装入请求头

[manager.requestSerializer setValue:TOKEN forHTTPHeaderField:@"token-id"];

//post上传文件

[manager POST:@"http://192.168.0.90/****" parameters:dict progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

NSLog(@"上传成功 === %@",responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

NSLog(@"上传错误 == error == %@",error);

}];

问题二: 上传失败, 有时候会出现如下error:

"error == Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/plain" UserInfo={com.alamofire.serialization.response.error.response={ URL: http://192.168.0.192/api/grey/blood_pressure/upload_data } { status code: 200, headers {

Connection = "keep-alive";

"Content-Type" = "text/plain;charset=UTF-8";

Date = "Fri, 25 Nov 2016 01:05:46 GMT";

Server = "nginx/1.11.5";

"Transfer-Encoding" = Identity;

} }, NSErrorFailingURLKey=http://192.168.0.192/api/grey/blood_pressure/upload_data, com.alamofire.serialization.response.error.data=<7b227265 73756c74 5f636f64 65223a22 30222c22 72657375 6c745f6d 7367223a 22737563 63657373 227d>, NSLocalizedDescription=Request failed: unacceptable content-type: text/plain}"

请不要慌张, 只需要你在AFNetworking的第三方框架内找到AFURLResponseSerialization.m 文件

修改第228行代码, 添加一项@"text/plain", 同时添加@"text/xml"也是在这个地方:

//    self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil];

self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/plain",@"text/json", @"text/javascript", nil];

通过以上, 接下来就可以成功上传文件到服务器了.

ios 请求头设置token_AFNetworking的请求头设置(token)相关推荐

  1. 爬虫实战学习笔记_6 网络请求request模块:基本请求方式+设置请求头+获取cookies+模拟登陆+会话请求+验证请求+上传文件+超时异常

    1 requests requests是Python中实现HTTP请求的一种方式,requests是第三方模块,该模块在实现HTTP请求时要比urlib.urllib3模块简化很多,操作更加人性化. ...

  2. 利用Access-Control-Allow-Origin响应头解决跨域请求

    标签:cors 跨域请求 ACAO 2015-11-28 18:53 12103人阅读 评论(0) 收藏 举报  分类: web前端(5)  J2EE服务器(2)  传统的跨域请求没有好的解决方案,无 ...

  3. 前端cookie 放到请求头_ajax请求携带cookie和自定义请求头header(跨域和同域)

    错误: 1.ajax请求时是不会自动带上cookie的,要是想让他带上的话,必须设置withCredential为true. 正确: 1.ajax同域请求下,ajax会自动带上同源的cookie: 2 ...

  4. php获取curl头_php中CURL请求头和响应头获取方法

    本文主要和大家分享php中CURL请求头和响应头获取方法,希望能帮助到大家. 1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网 ...

  5. h5获取http请求头_nodejs 中http请求头,响应头

    -------------------- 1.request常见的属性 ----------------------- var http=require("http"); var ...

  6. node html响应头,nodejs 中http请求头,响应头

    -------------------- 1.request常见的属性 ----------------------- var http=require("http"); var ...

  7. Request(请求继承体系,获取请求行,请求头,请求体和通用的获取请求数据和解决乱码问题)

    Request(请求继承体系,获取请求行,请求头,请求体和通用的获取请求数据和解决乱码问题) 1.Request(请求) Request继承体系 要想了解RequestFacade中都提供了哪些方法, ...

  8. 请求头(request headers)和响应头(response headers)解析

    原文地址:https://www.cnblogs.com/fighter007/p/8445435.html HTTP 中文开发手册:http://www.php.cn/manual/view/355 ...

  9. selenium 获取请求响应信息,包括请求的响应头和响应体

    在我们使用selenium请求网页时,有时不想从浏览器解析后的html标签获取数据,如果能直接获取url返回的json格式数据会更容易解析.就像request和scrapy爬虫返回的响应数据一样.那么 ...

  10. android 设置允许http请求_网络请求框架----OkHttp原理

    一.前言 在 Android 中,网络请求是一个必不可少的功能,因此就有许多代表网络请求客户端的组件库,具有代表性的有下面三种: Apache 的 HTTP 客户端组件 HttpClient. Jav ...

最新文章

  1. 记录某项目中的踩坑与解决(持续更新)
  2. SASS type-of 函数
  3. 【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )
  4. 一个人就一个人——读书笔记
  5. 数组去重的JavaScript实现
  6. vite 打包页面空白
  7. 微软雅黑的问题(for silverlight)
  8. html静态网页实例一(附完整代码)
  9. LeetCode刷题复盘笔记—一文搞懂509. 斐波那契数70. 爬楼梯以及递归时间复杂度计算方法(动态规划系列第一篇)
  10. 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
  11. es+ik+kibana的简单使用
  12. 唤醒手腕 - 爆肝 3 天整理出来关于 Opencv 计算机图像处理详细教程(更新中)
  13. visual Studio Code(VS code)软件中HTML超级好用的一个插件 liveserver,vs code浏览网页
  14. 图片上传流程前端上传文件后端保存文件并返回图片地址
  15. Python中的range函数和arange函数的区别与联系
  16. jvm虚拟机学习笔记
  17. 同是高管变动:北银消金已落伍,马上消金“后来居上”
  18. 果园机器人能干什么_《果园机器人》教案
  19. baocms伪静态_最新BAOCMS 6.2本地O2O生活门户系统多城市完整版源码下载 贴吧圈子+缴费服务+政务活动+微信等...
  20. 解决在IDEA里Git特别慢的问题

热门文章

  1. 雄迈H.265 DVR程序功能升级简介
  2. lamp一键安装包不安装mysql_lamp一键安装包的一些注意点
  3. msdia*.dll unregistered
  4. 躺平国历险记:两个超平面之间距离的计算
  5. 基于opencv的简单数字识别
  6. html 弹出框 自动关闭,js提示框,n秒后自动关闭
  7. 头脑王者源码微信答题小程序pk知识问答源码介绍
  8. php抓取微信公众号文章 封面图,教你如何一键提取微信公众号文章的封面图
  9. Linux切换jdk版本
  10. 漏洞扫描工具Nessus的下载与安装教程