Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】CURLOPT_SUPPRESS_CONNECT_HEADERS定数の使い方

CURLOPT_SUPPRESS_CONNECT_HEADERS定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURLOPT_SUPPRESS_CONNECT_HEADERS定数は、PHPのcURL拡張機能で利用されるオプションの一つで、HTTPプロキシサーバーを経由して通信を行う際に、プロキシサーバーから返される特定のヘッダ情報をアプリケーションに渡さないように抑制することを表す定数です。

インターネット上のリソースにアクセスする際、特にHTTPSのような暗号化された通信でプロキシサーバーを経由する場合、cURLはまずプロキシサーバーに対してCONNECTメソッドを使って接続を要求します。プロキシサーバーがこの接続要求を許可し、通信経路が確立されると、「HTTP/1.1 200 Connection established」といったメッセージ(ヘッダ)をクライアントに返します。このメッセージはプロキシとの接続確立に関するものであり、実際の目的のサーバーからの応答ではありません。

curl_setopt関数を用いてこのCURLOPT_SUPPRESS_CONNECT_HEADERS定数をtrueに設定すると、cURLライブラリは前述の「200 Connection established」ヘッダを内部で処理し、私たちが作成するプログラム側へは引き渡しません。これにより、プログラムは実際のウェブサーバーから送られてくる応答ヘッダのみを受け取ることができ、プロキシサーバーとの接続確立に関する情報が混入するのを防ぎます。

この定数は、CURLOPT_HEADERオプションを使って全ての応答ヘッダを取得するような状況で、プロキシ経由の不要なヘッダを除外し、アプリケーションの処理を簡潔に保ちたい場合に特に役立ちます。プロキシとの低レベルなやり取りを意識せず、目的のサーバーからの情報のみを扱いたいシステム開発において、この機能は非常に有効です。

構文(syntax)

1<?php
2$ch = curl_init();
3curl_setopt($ch, CURLOPT_SUPPRESS_CONNECT_HEADERS, true);
4curl_close($ch);
5?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ