PHP の関数を使用してfile_get_contents()
URL の内容を取得し、変数を通じてヘッダーを処理します$http_response_header
。
ここで問題となるのは、一部の URL では URL に投稿するデータが必要になることです (ログイン ページなど)。
それ、どうやったら出来るの?
stream_context を使用すればそれが可能かもしれないことは分かっていますが、完全には理解していません。
ありがとう。
ベストアンサー1
HTTP POSTリクエストを送信するfile_get_contents
実際にはそれほど難しくはありません。ご想像のとおり、パラメータを使用する必要があります$context
。
PHPマニュアルのこのページに例が示されています: [HTTPコンテキストオプション][2] *(引用)* :
$postdata = http_build_query(
array(
'var1' => 'some content',
'var2' => 'doh'
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/submit.php', false, $context);
基本的には、適切なオプション(そのページに完全なリストがあります)を使用してストリームを作成し、それを 3 番目のパラメータとして使用する必要がありますfile_get_contents
。それ以上は必要ありません ;-)
補足として、一般的に、HTTP POST リクエストを送信するには、多くのオプションを提供する curl を使用する傾向がありますが、ストリームは、誰も知らない PHP の優れた機能の 1 つです... 残念です...