欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-27 13:17:23
...
因为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");

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

回复内容:

因为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");

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

$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 {
  // 失败
}

相关标签: php 超时