【发布时间】:2016-12-26 00:06:30
【问题描述】:
我正在尝试使用带有 Swift 3 和 XCode 8 的 Alamofire 使用 JSON 参数和自定义标头发出 HTTP GET 请求。我已经能够通过一些不同的路由成功使用它,但我似乎无法特别是要破解其中的密码。下面是我试图做的等效 CURL 以及我试图用来复制它的 Swift 代码。
CURL 请求(有效):
curl -X GET url -d '{"xxxx": "111111111" }' -v -H "email: example@example.com" -H "token: ASDFJKL" -H 'Content-Type: application/json'
Alamofire 请求(不起作用):
let headers: HTTPHeaders = [ "email": "example@example.com", "token": "ASDFJKL"]
let parameters: Parameters = [ "xxxx": "111111111"]
Alamofire.request(url, method: .get, parameters: parameters, encoding: JSONEncoding.default,
headers: headers).responseJSON { response in
debugPrint(response)
}
如果有帮助,我会返回以下错误:
[Request]: <url>/<route>
[Response]: <NSHTTPURLResponse: 0x608000226fc0> { URL: <url> } { status code: 499, headers {
"Cache-Control" = "no-cache, no-store";
Connection = "keep-alive";
"Content-Length" = 435;
"Content-Type" = "text/html; charset=utf-8";
Date = "Sun, 25 Dec 2016 23:45:38 GMT";
Server = Cowboy;
} }
[Data]: 435 bytes
[Result]: FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
[Timeline]: Timeline: { "Request Start Time": 504402284.293, "Initial Response Time": 504402339.616, "Request Completed Time": 504402339.617, "Serialization Completed Time": 504402339.617, "Latency": 55.323 secs, "Request Duration": 55.324 secs, "Serialization Duration": 0.000 secs, "Total Duration": 55.324 secs }
【问题讨论】: