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

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

程序员文章站 2022-04-08 20:07:12
...
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)
\n"; exit; } else { $data = ''; 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('www.scutephp.com', '/siqi');
相关标签: php url CURL