我必须修改头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
...
1条答案
按热度按时间e4yzc0pl1#
有时候它与路径有关,仔细检查您的同事编写的路径,也许您在路径的末尾遗漏了“/”。