博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【iOS】Alamofire库在iOS7下设置Head无效的问题
阅读量:6452 次
发布时间:2019-06-23

本文共 1215 字,大约阅读时间需要 4 分钟。

同样的代码在iOS8下没有问题,iOS7就取不到数据(会包Cocoa Error 3840之类的错误),跟踪发现请求Head参数设置不管用,根据文字底部的参考改了一下兼容代码:

    
private func getRequest(method: Method, _ URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil) -> NSMutableURLRequest {
        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参数即可,使用代码:

        var request: Request!
        
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下还是管用的

参考:

 

(参考帖子,也尝试设置NSURLSessionConfiguration但是没有效果 

本文转自博客园农民伯伯的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
过滤DataTable表中的重复数据
查看>>
Oracle数据库-trunc函数的用法
查看>>
prepare for travel 旅行准备
查看>>
再次更新
查看>>
perl杂记
查看>>
go语言安装使用
查看>>
iOS开发代理(委托)模式详解
查看>>
微服务学习笔记二:Eureka服务注册发现
查看>>
C# 获取编码
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围
查看>>
利用网易获取所有股票数据
查看>>
HDOJ5015 233 Matrix(矩阵乘法加速递推)
查看>>
三种局域网扫描工具比较
查看>>
移动铁通宽带上网设置教程
查看>>
java中判断字符串中是否有中文字符
查看>>
Python算法(含源代码下载)
查看>>
利用Windows自带的Certutil查看文件MD5
查看>>
Git处理 行结束符
查看>>
通过原生js添加div和css
查看>>
[训练日志] 7月13日
查看>>