ios URLSession丢失了标头“授权”

neekobn8  于 2023-02-01  发布在  iOS
关注(0)|答案(1)|浏览(128)

我必须修改头Authorization,使其值以“Token xxxx”开头,以调用一些端点来获取项目中的值;
最近我的同事创建了一个新的端点,我使用了完全相同的方法调用它,但它总是返回状态代码500
如果我重定向请求并在方法中添加回Authorization:
-[NSURL会话任务委托URL会话:任务:将执行HTTP重定向:新请求:完成处理程序:]
那么它将工作。这意味着URLSession在调用时不会在标头中传递授权密钥。
从苹果的文档中说,我们不应该修改标题授权,但为什么只有这个端点有这个问题?
下面是使用授权密钥调用端点的简单代码:

let session = URLSession(configuration: URLSessionConfiguration.default)
    let url = URL(string: "https://www.myurl.com/api/newAPI")!
    var urlRequest = URLRequest(url: url)
    urlRequest.addValue("Token XXXX", forHTTPHeaderField: "Authorization")
    urlRequest.httpMethod = "GET"

    session.dataTask(with: urlRequest) { (data, response, error) in
       ...
e4yzc0pl

e4yzc0pl1#

有时候它与路径有关,仔细检查您的同事编写的路径,也许您在路径的末尾遗漏了“/”。

相关问题