swift Alamofire get 请求出现 Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={NSUnderlyingErro

Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={NSUnderlyingError=0x1c0a48310 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}

这个原因,我查了半天,网上都是设置超时时间的帖子,但是,这个get请求,并没有超时就返回这个错误了,后来发现是请求方法中用的和post一样的encoding:JSONEncoding.default;下面介绍一下encoding的使用场景

1、JSONEncoding.default 是放在HttpBody内的,   比如post请求

2、URLEncoding.default 在GET中是拼接地址的,    比如get请求

3、URLEncoding(destination: .methodDependent) 是自定义的URLEncoding,methodDependent的值如果是在GET 、HEAD 、DELETE中就是拼接地址的。其他方法方式是放在httpBody内的。

4、URLEncoding(destination: .httpbody)是放在httpbody内的

于是我用URLEncoding.default替换了之前的JSONEncoding.default就好了

Alamofire.request(url, method: .get, parameters: nil, encoding:JSONEncoding.default, headers: ["Content-Type":"application/json"]).responseJSON { (response) in

        }

Alamofire.request(url, method: .get, parameters: nil, encoding:URLEncoding.default, headers: ["Content-Type":"application/json"]).responseJSON { (response) in

        }

 

 

你可能感兴趣的:(原创,iOS,报错,code,-1001,请求超时,swift,Alamofire,get请求)