0

curl を使用して Web ページのコンテンツを取得するスクリプトを作成しています。Set-Cookieページによって設定されたすべての Cookie の名前を収集するために、ヘッダーを検索します。問題は、一部の Cookie がページにロードされた JavaScript ファイル内から設定され、もちろんこれらの Cookie が応答ヘッダーに含まれていないことです。

では、curl を使用して Web ページからすべての Cookie を取得する方法はありますか?

現在、私は次のようなことをしています:

$curl = curl_init();
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, <www.example.com>);
$response = curl_exec($curl);
$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($http_code == 200) {
  $headers = substr($response, 0, curl_getinfo($curl, CURLINFO_HEADER_SIZE));
  // check headers for all cookies sent in response
}
curl_close($curl);
4

1 に答える 1

2

cURL は JavaScript を実行しないため、Cookie を取得する方法はありません。それを実現するには、ブラウザーをエミュレートまたは自動化する必要があります。幸いなことに、あなたを助けるツールがあります。多分PHP-webdriverを見てください

于 2013-02-12T17:58:53.307 に答える