【iOS】Alamofire库在iOS7下设置Head无效的问题
同样的代码在iOS8下没有问题,iOS7就取不到数据(会包Cocoa Error 3840之类的错误),跟踪发现请求Head参数设置不管用,根据文字底部的参考改了一下兼容代码:
let request = NSMutableURLRequest(URL: NSURL( string: URLString.URLString)!)
request.HTTPMethod = method.rawValue
if parameters != nil {
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameters!, options: nil, error: nil)
}
request.setValue(API_UA, forHTTPHeaderField: " User-Agent ")
request.setValue(HEADER_ACCEPT, forHTTPHeaderField: " Accept ")
request.setValue( " application/json ", forHTTPHeaderField: " Content-Type ")
return request
}
这里API_UA和HEADER_ACCEPT更改为自己的Head参数即可,使用代码:
if DeviceUtils.isIOS7() {
request = mHttpManager.request(getRequest(method, URLString, parameters: parameters))
} else {
request = mHttpManager.request(method, URLString , parameters: parameters, encoding: ParameterEncoding.JSON)
}
// request.responseJSON....
代码说明:
a)、 mHttpManager就是Manager.sharedInstance,注意别忘了设置mHttpManager.session.configuration.HTTPAdditionalHeaders,在iOS8下还是管用的
参考:
Setting Custom HTTP Headers in Alamofire in iOS 7 not working
(参考帖子,也尝试设置NSURLSessionConfiguration但是没有效果)
本文转自博客园农民伯伯的博客,原文链接:【iOS】Alamofire库在iOS7下设置Head无效的问题,如需转载请自行联系原博主。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
【Swift】TTTAttributedLabel使用小记
1、Pod直接使用TTTAttributedLabel在Storyboard中会报错,错误信息: 直接引入源码即可 2、添加链接 addLinkToURL(NSURL( string: " https://www.google.com ")!,withRange:NSString( string: " 欢迎使用Google ").rangeOfString( " Google ")) 注意swift语法,直接用String.rangeOfString是不行的,需要用NSString的方法。 3、修改link默认样式(保留文字颜色并加下划线) 主要是设置linkAttributes label.linkAttributes=[ kCTForegroundColorAttributeName :agreeLabel.textColor,NSUnderlineStyleAttributeName:NSNumber( long :NSUnderlineStyle.StyleSingle.rawValue)] 这里label就是TTTAttributedLabel 参考文章 iOS源码阅...
-
下一篇
【iOS】在Swift中使用JSONModel
这里不讨论JSONModel和Alamofire这两个项目,直接上代码 BaseModel.h #import " JSONModel.h " @interfaceBaseModel:JSONModel -(instancetype)initWithDictionary:(NSDictionary*)dict; @end BaseModel.m #import " BaseModel.h " @implementationBaseModel // Makeallmodelpropertiesoptional(avoidifpossible) +(BOOL)propertyIsOptional:(NSString*)propertyName { returnYES; } -(instancetype)initWithDictionary:(NSDictionary*)dict{ return(self=[[superinit]initWithDictionary:dicterror:nil]); } @end 所有的Model都要继承BaseModel,其他写法都一样 BaseAPI...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Linux系统CentOS6、CentOS7手动修改IP地址