ios 请求头设置token_ios – 如何在URLSession的HTTP头中为’Authorization’设置’Token xxxxxxxxxx’..._weixin_39633807的博客-程序员秘密

技术标签: ios 请求头设置token  

我正在使用的后端API需要一个令牌,以此格式发送每个针对HTTP头密钥授权的请求 – Token xxxxxxxxxx.

现在,我正在做以下事情.

var getRequest = URLRequest(url: url)

getRequest.addValue("Token xxxxxxxx", forHTTPHeaderField: "Authorization")

这有时会起作用,有时候会在发出请求时剥离标题字段授权.我使用Charles代理检查了这个.

An NSURLSession object is designed to handle various aspects of the

HTTP protocol for you. As a result, you should not modify the

following headers: Authorization, Connection, Host, WWW-Authenticate

作为解决方案,许多人建议对URLSession使用didReceiveAuthenticationChallenge委托方法.

在这里,您需要传递URLSession.AuthChallengeDisposition实例以告知您希望如何响应挑战,并传递URLCredential实例以传递凭据以响应身份验证质询.

我不知道怎么做,如果我可以创建一个URLCredential实例,它将为头字段授权添加Token xxxxxxxx.

谁有更多的知识,请帮助我如何解决这个问题?

PS – 此问题中提到的所有代码都在Swift 3中.

This question询问类似于我的东西.但是,那里给出的答案对我不起作用.并且,在有关Apple不允许添加授权标题的问题下提出的一些问题没有得到答复.

编辑:

发布相关代码.

var getRequest = URLRequest(url: url)

getRequest.httpMethod = "GET"

getRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")

getRequest.addValue("application/json", forHTTPHeaderField: "Accept")

let token = DataProvider.sharedInstance.token

getRequest.addValue("Token \(token)", forHTTPHeaderField: "Authorization")

let getTask = URLSession.shared.dataTask(with: getRequest) { (data, response, error) in

if let data = data {

print("--------GET REQUEST RESPONSE START--------")

print("CODE: \((response as? HTTPURLResponse)?.statusCode ?? 0)")

print("Response Data:")

print(String(data: data, encoding: .utf8) ?? "")

print("--------GET REQUEST RESPONSE END--------")

}

}

getTask.resume()

在这里,我可以确认“授权”的标题字段已添加到请求的标题字典中.

但是,当我检查哪些请求命中服务器时,“授权”的标题字段将丢失.有什么想法吗?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39633807/article/details/112819796

智能推荐

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)_ssm框架(spring springmvc mybatis_Eric_在路上的博客-程序员秘密

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)2015-03-19 11:44 246759人阅读 评论(174) 举报 分类: Spring MVC(14) 目录(?)[+]使用SSM(spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于

Uniapp教程精简版_uniapp 关闭严格模式_云闲不收的博客-程序员秘密

目录机构和文件存放位置├─components 符合vue组件规范的uni-app组件目录├─pages 业务页面文件存放的目录├─static 存放应用引用的本地静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此├─uni_modules 存放uni_module规范的插件。├─wxcomponents 存放小程序组件的目录,├─App.vue

一文整理Java工程师常被问到的Spring Cloud面试题_Java技术江湖的博客-程序员秘密

大家好,我是CSDN的博主ThinkWon,“2020博客之星年度总评选"开始啦,希望大家帮我投票,每天都可以投多票哦,点击下方链接,然后点击"最大”,再点击"投TA一票"就可以啦!投票链接:https://bss.csdn.net/m/topic/blog_star2020/detail?username=thinkwon在技术的世界里,ThinkWon将一路与你相伴!创作出更多更高质量的文章!2020为努力奋斗的你点赞????,️新的一年,祝各位大牛牛气冲天,牛年大吉!????????文章目录

多光谱图像数据集_未完城的博客-程序员秘密

多光谱图像数据集文章目录多光谱图像数据集GitHub数据集:1 dfc2019 track12 AOI_4_Shanghai_Train3 Dstl Satellite Imagery Feature DetectionImagery details4 DeepGlobe5 ISPRS:Potsdam,Toronto5.1 2D Semantic Labeling Contest - Potsd...

一定话搞定CSS透明度问题_aiyue5783的博客-程序员秘密

.transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; } 转载于:https://www.cnblogs.com/raphael5200/archiv...

WCF系列教程之WCF客户端异常处理_weixin_30856725的博客-程序员秘密

本文参考自:http://www.cnblogs.com/wangweimutou/p/4414393.html,纯属读书笔记,加深记忆一、简介当我们打开WCF基础客户通道,无论是显示打开还是通过调用操作自动打开、使用客户端或者通过对象调用操作,或者关闭基础客户端通道,都会在客户端应用程序中出现异常,WCF是基于网络的通讯服务,错误异常也是要基于消息传递的,在WCF中提供了一个错...

随便推点

python 切割和拼接图片_vvvvv呀的博客-程序员秘密

#-* coding -utf-8 -*#这个脚本用来切割和拼接图片#运行程序输入1则为切割图片模式#输入其他数字则为拼接图片模式import numpy as npimport osimport cv2import PIL.Image as Image#切图def cut(): img = cv2.imread('./img/1792/org.tif', cv2.IM...

Mybatis Plus整合多数据源和读写分离_mybatis plus 读写分离_请叫我猿叔叔的博客-程序员秘密

主要介绍mybatis-plus的多数据源来实现读写分离和多数据源处理

多线程面试题总结(高级篇,2021-02-19)_哪 吒的博客-程序员秘密

一、ThreadLocal 是什么?有哪些使用场景?ThreadLocal 是一个本地线程副本变量工具类,在每个线程中都创建了一个 ThreadLocalMap 对象,简单说 ThreadLocal 就是一种以空间换时间的做法,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。通过这种方式,避免资源在多线程间共享。原理:线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java提供ThreadLocal类来支持线程局部变量,是一种实现线程安全的方式

Veritas Backup Exec 21还原备份_backup exec还原整机_勤奋的树懒的博客-程序员秘密

1.选择“备份和还原”下的还原,也可以在服务器上右键选择还原2.下一步3.下一步4.选择要还原的备份下一步5.选择还原原始位置还是其他位置6.根据自身需求选择7.默认下一步8.下一步9.选择还原时间10.最后确认无误点击完成...

基于Knife4j的Docker镜像快速聚合OpenAPI_docker run knife4j local_萧明的博客-程序员秘密

在前面的实战文章中,更多的是面向Java开发者,通过Spring Boot框架,快速聚合OpenAPI文档。那么其他语言能否也能这么方便的使用Knife4j呢?答案是肯定的,Knife4j为了让其他语言非常方便的使用Knife4j来渲染聚合OpenAPI文档,在DockerHub中推送了Knife4j的镜像,镜像地址:https://hub.docker.com/repository/docker/xiaoymin/knife4j如果你的本机或者服务器安装了Docker,那么利用Knife4

在java中允许用户自定义异常_在Java中允许用户自定义异常,但自定义异常类必须继承自Exception或其子类()..._一片吃心的博客-程序员秘密

中自定案大案媒文节测智慧众传0章化2课答树慕试答。允许用户义异异常案谈判题答复习商务。常承自系概学习论体论考答案导课通免费年毛国特最新泽东和中会主超星义理研辅考试思想色社。理学到沟答案通心智慧完整树知。尔雅学课答案年考治导超星研政课后。选修西中案人大学答案体解(江版)剖学公众知到号参考医药课答。但自定义学_案套答智慧药理课全树慕。全课案品安知到智慧后答树食。类必类案2答教程英语阅读商务。须继新微信...

推荐文章

热门文章

相关标签