PHPでは、 stream_context_create()およびstream_context_get_options()は、HTTP要求構成の管理と表示に役立つ関数です。開発者は、特にfile_get_contents()またはその他のストリーム操作関数を使用して、要求のパラメーターと動作を制御する場合、コンテキストを通じてネットワークリクエストを構成するのに役立ちます。この記事では、これら2つの関数を使用して、簡単な例を使用してHTTPリクエストの構成オプションを管理および表示する方法を示します。
stream_context_create()は、プロキシサーバー、リクエストヘッダー、タイムアウト時間など、HTTP要求のカスタムオプションを指定できるストリームコンテキストを作成するために使用されます。
<?php
// リクエストされたセット HTTP オプション
$options = [
'http' => [
'method' => 'GET',
'header' => "Accept-language: en\r\n",
'timeout' => 60, // リクエストタイムアウトをに設定します602番
]
];
// aを作成します HTTP コンテクスト
$context = stream_context_create($options);
// 通过コンテクスト发起 HTTP 聞く
$url = "http://m66.net/some/path";
$response = file_get_contents($url, false, $context);
// 出力応答コンテンツ
echo $response;
?>
上記のコードでは、 stream_context_create()を介してHTTP構成を含むコンテキストを作成します。これに関連して、リクエストのHTTPメソッドを設定して、リクエストヘッダーとタイムアウトを取得して設定します。
コンテキストを作成したら、 Stream_context_get_options()を使用して、現在のコンテキストで構成オプションを表示できます。これは、構成のデバッグと検証に非常に役立ちます。
<?php
// 获取当前コンテクスト的配置オプション
$options = stream_context_get_options($context);
// 输出配置オプション
echo '<pre>';
print_r($options);
echo '</pre>';
?>
上記のコードでは、 stream_context_get_options()は、現在のコンテキスト構成情報を含む配列を返します。この配列は、stream_context_create()を介して設定されたすべてのHTTP構成オプションを表示します。
リクエストの取得に加えて、 stream_context_create()を使用して、投稿リクエストを送信したり、データを渡したり、関連する構成を表示することもできます。
<?php
// 設定 POST 聞く的 HTTP オプション
$options = [
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => http_build_query(['key1' => 'value1', 'key2' => 'value2']),
'timeout' => 60, // リクエストタイムアウトをに設定します602番
]
];
// 创建コンテクスト
$context = stream_context_create($options);
// 送信 POST 聞く
$url = "http://m66.net/api/submit";
$response = file_get_contents($url, false, $context);
// 出力応答コンテンツ
echo $response;
// 获取并显示当前配置オプション
$options = stream_context_get_options($context);
echo '<pre>';
print_r($options);
echo '</pre>';
?>
stream_context_create()は、多くのHTTP構成オプションをサポートしています。一般的な構成オプションは次のとおりです。
方法:HTTPメソッド(Get、Post、Put、Deleteなど)
ヘッダー:リクエストヘッダーは文字列形式(コンテンツタイプ、ユーザーエージェントなど)で指定されています。
コンテンツ:送信されたコンテンツ(主に投稿リクエストに使用されています)
タイムアウト:リクエストタイムアウト(ユニット:秒)
プロキシ:プロキシサーバー設定
user_agent :ユーザーエージェントヘッダーを設定します
stream_context_create()およびstream_context_get_options()は、 HTTPリクエストの構成オプションを管理および表示するためのシンプルで強力な方法を提供します。これらのツールを使用すると、より効率的で柔軟なネットワークリクエストのために、File_Get_Contents()などのPHPでストリーミング操作のカスタムオプションを簡単に設定できます。これらのメソッドをマスターすると、HTTPリクエストをより適切に制御し、アプリケーションをデバッグできます。