我有一个简单的 cURL 脚本,它工作得很好。但我很好奇如何检测坏网址。“坏”是指不存在的 URL,或者如果我调用的服务器关闭了一段时间,或者我犯了错误并输入了错误的 URL。(只是例子)
这是我到目前为止所拥有的:
<?php
$url = 'http://someurl_or_ip.com/some_file.php';
$post_fields = "type=whatever";
$post_fields .= "&first=".$first;
$post_fields .= "&last=".$last;
$ch = curl_init($url); // create a new cURL resource
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_TIMEOUT, 1800);
// Execute the request.
$raw_response = curl_exec($ch);
$succeeded = curl_errno($ch) == 0 ? true : false;
echo $raw_response;
?>
通常 $raw_response 是我可以解析并用于其他事情的东西,比如我想如何向用户显示数据。
我只是用一个不存在的文件(但到一个有效的域)替换了 $url,然后我得到“未找到......请求的 URL......在此服务器上找不到......”
这是否意味着我需要解析这个 apache 服务器消息才能知道它不是一个好的 URL?或者 cURL 是否有办法通过标头信息来检测它?