【发布时间】:2019-01-24 00:44:45
【问题描述】:
我有一个使用 oauth 的 API 调用,我在邮递员中使用正确的授权令牌进行了测试。我在邮递员中得到了正确的响应。但是当我在 Swift 中尝试同样的事情时,我得到 504 错误。
我已经正确检查了每个参数和标题,一切看起来都和邮递员一样。不知道为什么同样的东西在邮递员中工作并在 swift 中给出 504 错误。可能是什么问题?
var params = [String : String]()
params["Id"] = Id;
var headers = [String : String]()
headers["api-key"] = "XXXXXX"
headers["Authorization"] = "Bearer XXX"
do{
var request = URLRequest(url: URL(string: getURL())!)
request.allHTTPHeaderFields = headers
request.httpBody = try JSONSerialization.data(withJSONObject: params , options: [])
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
let httpResponse = response as! HTTPURLResponse
print(httpResponse)
}
task.resume()
}catch{
}
【问题讨论】:
-
你是否尝试过使用 postman 测试 api,通过完全相同的paylaod,如果它工作?
-
是的,它在邮递员中工作
-
如果它与 POSTMAN 一起工作,你知道它可以生成 Swift 代码吗?它并不总是“好”的代码,您可以尝试一下(如果它有效),然后它可能会帮助您发现参数、标头等方面的差异。
标签: swift urlsession http-status-code-504