我必须修改标题授权,其值由" 令牌xxxx "开头。调用一些端点来获取项目中的值;
最近我的同事创建了一个新的端点,我使用完全相同的方法来调用它,但它总是返回状态代码500 。
如果我重定向请求并在方法中添加回授权:
然后它会起作用。这意味着URLSession在调用时不会在标头中传递Authorization键。- [NSURLSessionTaskDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]
从Apple的doc说,我们不应该修改头文件授权,但为什么只有这个端点有这个问题?
以下是使用授权密钥调用我的端点的简单代码:
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
...