Swift4.0 使用Alamofire,给请求添加headers,以及获取服务器返回的header

  • Swift5.0了,更新一下文章

前言:最近刚刚转swift,系统的API变化就不想多说了,连三方库的API都感觉到了陌生。这篇文章记录一下添加获取请求头的一些操作,以防自己忘记- -

1、在请求里添加Header

  • 首先,我们后台有个认证的东西,完成需要在header里面操作
    print1.png
  • 在提交的请求中添加header头还是比较简单的。Alamofire的Request方法里面就包含的有headers这个参数
    AF请求.jpg

    接下来


    上传3.jpg

ps:这里面看着有很多参数,但是一些用不上的参数我们可以直接删掉。系统会有默认的参数,不用全部填写,比如这样
AF上传2.jpg

2、获取和打印Header

  • 刚才说的是添加header,接着来说一下获取header,之前我一直记得AFN的一个属性:allHeaderFields,可以直接获取到当前的所有headers。Alamofire,发现只有request.没有response


    image.png

    这里插一句,话说swift的文档资料也太少了。我找了很多资料,全是2016年的,现在已经2018年了,swift都4.0了。遇到问题去找资料确实很麻烦。
    说回正题,我最后,发现之前的response里面是包含有所有我们需要的属性的。like this


    image.png

    [AngHashable : Any] 类型类似于NSDictionary的[key : value] 结构,如果是想获取所有的header信息。只需要
response.response?.allHeaderFields

这样就可以取到。如果需要指定的header,则填写相应的key值即可,例如下面的Set-Cookie关键字


获取1.jpg

到此就简单的梳理了一下Alamofire请求里面关于header的一些东西。还有一些扩展应用,比如,全局配置之类的。我研究一下之后再继续更新吧- -

你可能感兴趣的:(Swift4.0 使用Alamofire,给请求添加headers,以及获取服务器返回的header)