そこで、cURL を使用してページ 1 からデータを取得し、そこから情報を取得して配列に格納します。次のステップは、次のページをロードすることです。これを行うには、同じ cookiejar と cookiefile を使用して新しい cURL を作成します。ページ 1 は正しく表示されますが、ページ 2 が表示されます: セッションが見つかりません。セッションの有効期限が切れている可能性があります。ヘッダー情報を見ると、ページ 1 で Cookie WCOOKIE=rd244o0000000000000000000ffff912c10f5o80 が設定されていることがわかります。
ページ 2 のヘッダーで、Cookie WCOOKIE=rd244o0000000000000000000ffff912c10f6o80 を設定します。
これが、セッションが期限切れであると考える理由です。Cookie は読み込まれませんが、ページはそれを書き換えようとします。私の質問: 新しい Cookie を設定しようとする代わりに、ページ 1 で設定された Cookie をページ 2 に読み込ませるにはどうすればよいですか?
追加情報: 2 つのページの読み込みは両方とも 1 つのファイル (1.php) で行われます。これは、両方のデータを 1 つの配列に格納する必要があり、ページ 2 を要求するにはページ 1 の Cookie が必要だからです。
両方のページがヘッダーを使用するように設定されています。
$headers[] = "Accept: */*";
$headers[] = "Connection: Keep-Alive";
$headers[] = "Content-type: application/x-www-form-urlencoded;charset=UTF-8";
ページ 1 を読み込んでいます:
$cSession = curl_init();
$tmpfname = dirname(__FILE__).'/cookie.txt';
curl_setopt($cSession, CURLOPT_COOKIEJAR, $tmpfname);
curl_setopt($cSession, CURLOPT_COOKIEFILE, $tmpfname);
curl_setopt($cSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($cSession, CURLOPT_COOKIESESSION, TRUE);
ページ 2 を読み込んでいます:
$ch = curl_init ();
$tmpfname = dirname(__FILE__).'/cookie.txt';
curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpfname);
curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpfname);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($ch, CURLOPT_COOKIESESSION, TRUE);
これがすべての設定ではありませんが、これらの行で何かを変更する必要があると思います。さらに情報が必要な場合はお知らせください。投稿します。
助けていただければ幸いです:)