我有一个在Google App Engine上不断运行并测试我们的主要产品的应用程序。我不会经常改变它,但是昨晚凌晨4点(星期二早上),curl方法停止工作 - 我通过检查应用程序的日志知道这一点。Curl在GAE中停止工作
我最初认为这是由于我们的产品的api被关闭了,但在更多的研究之后,似乎请求返回的状态码为0,甚至没有到达api服务器。
来自卷边请求的错误是: (我也有php.ini文件正确安装。)
Couldn't resolve host '{our_api_url}'
我已经彻底地与我们的开发人员检查,这确实不是什么关系我们的主要产品,我们的API工作正常,我找不到任何与我的代码有关的问题。
这里是卷曲代码:
$ch = curl_init();
$curl_url = {api_url};
$headers = array('Authorization: Basic {encoded_credentials});
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HEADER, 1);
$debug = curl_getinfo($ch);
$out = curl_exec($ch);
$error = curl_error($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($out, 0, $header_size);
$body = substr($out, $header_size);
curl_close($ch);
任何想法如何,我可以解决这个问题?
主机解析通常指的是DNS。为了进一步解决您的问题,您必须提供更多详细信息。 – elektronik
你想了解更多细节? – user5331188
'our_api_url'(如果你可以公开地分享它,或者它的编辑版本),堆栈跟踪,运行'host our_api_url'的输出在运行该程序的php服务器的控制台中。另外,如果我没有弄错(自从我编写任何PHP以来已经有一段时间了),您可以从失败的curl调用中获取错误细节。 – elektronik