【发布时间】:2012-11-28 04:09:12
【问题描述】:
我正在使用一个简单的 cURL 语句来解析我网站上的 XML。当 API 启动并正常工作时,它可以正常工作,但是一旦 API 由于任何原因关闭,整个站点就会崩溃。
$url = 'http://www.mydomain.com/webservicexample';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXmlElement($data);
我是否可以在 url 周围加上一个条件,以便它只在 API 有积极响应时执行 cURL 脚本?我尝试了以下方法,但没有成功,因为它从未得到服务器响应来提供任何标头:
$url_headers = @get_headers($url);
if($url_headers[0] == 'HTTP/1.1 200 OK') {
// do script
}
非常感谢任何帮助/建议!
【问题讨论】:
-
您是否尝试在
get_headers()之前删除@以显示任何错误? -
查看错误日志以查看导致脚本崩溃的错误。
-
@Titanium - 我试过了,但还是不行
-
@Ranty - 错误在 API 端,我会看看 API 提供者是否有任何原因导致它超时。