PHP的snoopy第三方库怎么进行超时判断。

因为URL不确定,需要判断url是否存在(是否超时),下面是自己写的

function s($url){
    $snoopy = new Snoopy();
    $snoopy->read_timeout = 5;
    $snoopy->fetch($url);
    if($snoopy->$timed_out === true){
        echo "超时了";
        return;
    }else{
        return $snoopy->response_code;
    }
}
echo s("http://zihonaini.com");

百度半天,也没找到相对应的事例

阅读 4.1k
1 个回答
$snoopy->read_timeout = x

update:

你应该关心status code是不是200,而不是失败的各种特列

$snoopy->read_timeout = x;
$snoopy->fetch($url);
if ($snoopy->status == 200) {
  // 成功
} else {
  // 失败
}

或者看这里的例子 http://dret.net/lectures/services-fall06/a/3/README.txt

if ($snoopy->fetch($url)) {
  // 成功
} else {
  // 失败
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题