"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:091872검색

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으로 문의하세요.