ホームページ  >  記事  >  バックエンド開発  >  PHP CURLでカスタムリクエストヘッダーを設定する方法

PHP CURLでカスタムリクエストヘッダーを設定する方法

藏色散人
藏色散人オリジナル
2020-08-10 09:22:497959ブラウズ

php ヘッダーを設定するカール メソッド: 最初にカスタム リクエスト ヘッダーを設定し、次に「curl_setopt($ch, CURLINFO_HEADER_OUT, );」を設定し、最後に「curl_getinfo($ch, CURLINFO_HEADER_OUT)」を実行します。

PHP CURLでカスタムリクエストヘッダーを設定する方法

推奨: 「PHP ビデオ チュートリアル

phpカールはカスタム リクエスト ヘッダーを設定し、リクエスト ヘッダー情報を出力します

$header = [
    'client:h5',
    'token:test',
];
curlRequest($url, $params, true, 10, $header);

PHP バージョン 5.1.3 以降では、curl_getinfo 関数を使用したリクエスト ヘッダーの取得がサポートされています。

具体的には、curl_setopt($ch, CURLINFO_HEADER_OUT, true) を設定する必要があります。

次に、curl_getinfo(リクエストの発生後 $ch, CURLINFO_HEADER_OUT);

  function curlRequest($url, $params = array(), $is_post = false, $time_out = 10, $header=array())
    {
        $str_cookie = isset($ext_params['str_cookie']) ? $ext_params['str_cookie'] : '';$ch = curl_init();//初始化curl
        curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页
        curl_setopt($ch, CURLOPT_HEADER, 0);//设置是否返回response header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
        //当需要通过curl_getinfo来获取发出请求的header信息时,该选项需要设置为true
        curl_setopt($ch, CURLINFO_HEADER_OUT, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, $time_out);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time_out);
        curl_setopt($ch, CURLOPT_POST, $is_post);
        if ($is_post) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        }
        if ($str_cookie) {
            curl_setopt($ch, CURLOPT_COOKIE, $str_cookie);
        }
        if ($header) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        }
        $response = curl_exec($ch);
     //打印请求的header信息
        $request_header = curl_getinfo( $ch, CURLINFO_HEADER_OUT);
        print_r($request_header);
        curl_close($ch);
        return $response;
    }

以上がPHP CURLでカスタムリクエストヘッダーを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。