我正在尝试为我的应用程序创建一个API代理,但是我在Heroku上遇到了一些奇怪的超时错误。
说了以下内容:
2012-12-10T12:49:24+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path=/api/v1/users/me host=host.herokuapp.com fwd=174.129.79.221 dyno=web.1 queue= wait= connect= service=30000ms status=503 bytes=0
代码如下:
$request = curl_init();
curl_setopt($request, CURLOPT_URL, $url);
curl_setopt($request, CURLOPT_USERAGENT, 'AppProxy/1.0');
curl_setopt($request, CURLOPT_HTTPHEADER, array(
'Accept: application/json',
'Authorization: Basic ' . $authorization,
'X-Requested-With: XMLHttpRequest'
));
curl_setopt($request, CURLOPT_VERBOSE, 1);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($request);
echo curl_errno($request) . "<br />";
echo curl_error($request) . "<br />";
echo $httpStatus = curl_getinfo($request, CURLINFO_HTTP_CODE) . "<br />";
curl_close($request);
echo $response . "<br />";
有什么问题,或者我在代码上遗漏了一些东西以使其正常工作? Heroku上有人有同样的问题吗?
提前致谢...
答案 0 :(得分:1)
尝试在cUrl请求上设置超时,如此
curl_setopt($request, CURLOPT_CONNECTTIMEOUT, 15);
从正在运行的框中获取相同资源需要多长时间?
代码503也是服务不可用错误。你能在浏览器中打开资源吗?