0

cURL は URL を要求し、要求されたページを保存できます...しかし、私は疑問に思っています.PHP は実際に Web ページでアクション (フォームに入力して送信するなど) を実行し、要求されたページに関する情報を保存できますか?

4

2 に答える 2

1

cURL を使用して、POST、HEAD、PUT、DELETE、および想像できるその他の HTTP 操作を実行できます。これは、ほとんどのフォームのオンライン送信をシミュレートします。Cookie ファイルを使用する cURL の機能を使用して、ユーザー エージェントを偽造すると、ブラウザーを偽造できます。

特にCURLOPT_POST、CURLOPT_PUT、CURLOPT_COOKIEFILE、CURLOPT_POSTFIELDS、およびCURLOPT_USERAGENTの部分に関するドキュメントを確認してくださいcurl_setopt

要求されたページに関する情報を確認することもできますcurl_getinfo($handle)

于 2012-06-13T14:39:41.383 に答える
1

簡単なログインの例には、たとえばユーザー名とパスワードが含まれます。

$ch = curl_init();

$data = array('username' => 'xyz', 'password' => 'abc');

curl_setopt($ch, CURLOPT_URL, 'http://website.com/login.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'close_cookies.txt');

curl_exec($ch);
curl_close($ch);

2 つの Cookie 行は、Cookie をサーバーに保存して、いつでも読み取ることができるようにするためのものです。このcurl_exec($ch)行の後、Web サイトにログインしたままになり、再度ログインしなくても POST または GET リクエストをさらに作成できます。

于 2012-06-13T14:40:57.653 に答える