"Content-Type: text/html; charset=utf-8", "/> "Content-Type: text/html; charset=utf-8", ">

首页 >后端开发 >php教程 >PHP中curl / file_put_contents / fscoketopen设置超时时间比较小结

PHP中curl / file_put_contents / fscoketopen设置超时时间比较小结

WBOY
WBOY原创
2016-06-20 13:03:091871浏览

file_put_contents设置超时时间

$opt = array(
     'http'=>array(
        'method'=>"GET",
        'header'=>"Content-Type: text/html; charset=utf-8",
        'timeout'=>2
    )    
);
$context = stream_context_create($opt);
file_get_contents("http://www.baidu.com", false, $context);

curl中的超时设置:curl_setopt($ch, CURLOPT_TIMEOUT, 3)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch);
curl_close($ch);

 fscoketopen 超时

function request($host, $uri, $timeout = 3, $port = 80)
{
    $fp = fsockopen ( $host, 80, $errno, $errstr, $timeout );
    if (! $fp) {
        echo "$errstr ($errno)<br />\n";
        exit;
    } else {
        $data = &#39;&#39;;
        stream_set_timeout ( $fp, $timeout ); //#
        $out = "GET {$uri} HTTP/1.1\r\n";
        $out .= "Host: {$host}\r\n";
        $out .= "Connection: Close\r\n\r\n";
        fwrite ( $fp, $out );
        while ( ! feof ( $fp ) ) {
            $data .= fgets ( $fp, 128 );
        }
        fclose ( $fp );
        return $data;
    }
    
}

echo request(&#39;www.scutephp.com&#39;, &#39;/siqi&#39;);

 


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn