【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)
戻り値なし
戻り値はありません