Ios “希罗库”;“请求中断”;使用Alamofire时出错
我使用Alamofire发出HTTP请求,从Heroku上运行的Rails应用程序返回JSON 在进行HTTP GET调用时,我得到以下NSError客户端:Ios “希罗库”;“请求中断”;使用Alamofire时出错,ios,ruby-on-rails,swift,heroku,alamofire,Ios,Ruby On Rails,Swift,Heroku,Alamofire,我使用Alamofire发出HTTP请求,从Heroku上运行的Rails应用程序返回JSON 在进行HTTP GET调用时,我得到以下NSError客户端: Error Domain=NSURLErrorDomain Code=-1005 "The operation couldn’t be completed (NSURLErrorDomain error -1005.) " UserInfo=0x1700e6a00 { NSErrorFailingURLStringKey=ht
Error Domain=NSURLErrorDomain Code=-1005 "The operation couldn’t be completed
(NSURLErrorDomain error -1005.)
" UserInfo=0x1700e6a00
{
NSErrorFailingURLStringKey=https://********.herokuapp.com/api/workouts.json,
NSErrorFailingURLKey=https://********.herokuapp.com/api/workouts.json,
_kCFStreamErrorDomainKey=4,
_kCFStreamErrorCodeKey=-4,
NSUnderlyingError=0x17025c920 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1005.)"
}
错误-1005是一个kcfurerrorNetworkConnectionLost
在Heroku日志中,我得到:
heroku[router]: sock=client at=error code=H18
desc="Request Interrupted"
method=GET path="/api/workouts.json"
host=********.herokuapp.com
request_id=826f4f74-a497-4462-a70b-cc5d352ef7b4
fwd="162.246.8.76"
dyno=web.1 connect=1ms service=0ms status=503 bytes=0
2015-01-15T03:30:15.428551+00:00 app[web.1]:
Started GET "/api/workouts.json"
for 162.246.xxx.xxx at 2015-01-15 03:30:15 +0000
需要注意的重要部分是sock=client
,这意味着请求在客户端请求时被中断
其他端点,如登录
和注册
返回200 OK
,并返回预期有效负载。因此Rails应用程序正在其他端点上运行
另外,请注意,curl在命令行上的工作方式与预期相同:
curl -X GET 'https://********.herokuapp.com/api/workouts.json?email=****&token=****'
也许它会帮助某些人:在我的例子中,我错误地发送了一个空字典作为参数:
var dictParams = [String: String]()
Manager.sharedInstance
.request(.GET, "\(K_API_MAIN_URL)\(k_API_XXXXXX)?access_token=\(strToken)", parameters: dictParams, encoding: .JSON)
解决方案是发送nil而不是上述dictParams
Manager.sharedInstance
.request(.GET, "\(K_API_MAIN_URL)\(k_API_XXXXXX)?access_token=\(strToken)", parameters: nil, encoding: .JSON)
成功了吗?看来我也有同样的问题。