ホームページ > バックエンド開発 > PHPチュートリアル > PHPにおけるcurl/file_put_contents/fscoketopen設定タイムアウトの比較まとめ

PHPにおけるcurl/file_put_contents/fscoketopen設定タイムアウトの比較まとめ

WBOY
リリース: 2016-06-20 13:03:09
オリジナル
1884 人が閲覧しました

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;);
ログイン後にコピー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート