SWIFT中使用allHeaderFields获取不到某个header的问题

问题:在对HTTPURLResponse使用allHeaderFields获取header时,发现无法获取类似"age"这样的头。使用postman测试确认过,服务端是有返回这个标头的。

解决过程:将allHeaderFields整个打印出来,发现"age"竟变成了"Age"!这很奇怪,我服务端返回的是小写字母开头的。经查询http协议的默认保留标头,发现有"Age"(首字母是大写),含义是“从原始服务器到代理缓存形成的估算时间(以秒计,非负)”。那么,应该就是swift将服务端返回的"age"标头,自动转换成了"Age"这种默认保留标头。除了"Age"以外,还有"Accept-Ranges"、"Cache-Control"等标头都是默认保留的,而且经过测试也会出现上述一样的问题。

解决方案:不使用这些默认保留的标头。

发布了28 篇原创文章 · 获赞 0 · 访问量 2693

猜你喜欢

转载自blog.csdn.net/weixin_43855938/article/details/100117670