如何解决从 IOS 应用程序发送请求时,后端无法找到标头
我可以从 postman 访问 api,但是当我从 IOS 应用程序访问时,它总是抛出一个错误“使用此服务需要有效的 API 密钥。”
API 端点:https://connect.ttfnow.com/api/url/add
标头:key=“授权”,value=“令牌BDifVxMyHSlB”
方法:POST
Body Raw Json:{url: "www.google.com"}
我为 swift 使用了邮递员代码,但它在应用程序中不起作用。 我尝试使用 url session 和 alamofire,但没有任何效果。
let headers: HTTPHeaders = ["Content-Type": "application/json","Authorization": "Token BDifVxMyHSlB"]
let params: [String: Any] = ["url": "www.google.com"]
AF.request(URL(string: "https://connect.ttfnow.com/api/url/add")!,method: .post,parameters: params,encoding: JSONEncoding.default,headers: headers).responseJSON { (response) in
print(response)
}
这是来自 url 会话的代码
var semaphore = DispatchSemaphore (value: 0)
let parameters = "{\n \"url\": \"www.google.com\"\n}"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string: "https://connect.ttfnow.com/api/url/add")!,timeoutInterval: Double.infinity)
request.addValue("Token BDifVxMyHSlB",forHTTPHeaderField: "Authorization")
request.addValue("application/json",forHTTPHeaderField: "Content-Type")
request.addValue("PHPSESSID=c6mirs7a3qspcq86hhdvo2o2po",forHTTPHeaderField: "Cookie")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data,response,error in
guard let data = data else {
print(String(describing: error))
semaphore.signal()
return
}
print(String(data: data,encoding: .utf8)!)
semaphore.signal()
}
task.resume() semaphore.wait()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。