php CURL自動ログイン

これはこのフォーラムでの私の最初の質問ですが、それは前に私がそれに答えを見つけるのを助けました。 PHPとCURLを使用して自分のアカウントに自動的にログインしようとしています。

私はPHPに新しいですが、今まではウェブページに接続する必要があるときはいつでも、投稿や投稿をしたり、リダイレクトに従ったりしていました。

問題は、私がログインしようとしているアカウントにユーザー/パスワードのページがあり、その後に記憶に残るワードページがあり、そこに私の記憶に残る単語からいくつかの文字を入力しなければならないということです。

今私は最初のページを渡して、私は記憶に残る単語の文字を入力する必要がありますが、私はそれをしようとしているので(2番目の投稿)動作していない2番目のページを取得する管理 - 私は再度ログインにリダイレクトされます。

今私は何が問題であるかを調べることを試みましたが、それでも私はなぜ動作していないのか分かりません。 JSESSIONIDは通常のログイン時にサーバーによって渡され、JSESSIONIDが変更されたときにJSESSIONIDが変更されます。使ってます:

curl_setopt($this->curl, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($this->curl, CURLOPT_COOKIEJAR, 'cookie.txt');

しかし、ファイルをチェックすると、それは空であり、作成されて以来変更されていません。 Amdはい、ファイルを書き込むことができます(777の権利があります)。

私はこれが問題なのか他のものなのか分かりませんが、私は答えを探していました。だから、どんな考えも高く評価されます。

ありがとうございました

1
スクリプトがあなたが思っている作業ディレクトリから実行されていることを100%確認しましたか? getcwd() で再度確認し、そのファイルがPHPによって var_dump(is_writable( 'cookie.txt')); で本当に書き込み可能であることを確認してください。応答のヘッダーを取得し、実際にいくつかのクッキーを受け取ったことを確認するには、 curl_setopt($ this-> curl、CURLOPT_HEADER、TRUE); を実行する必要があります。
追加された 著者 DaveRandom,
FireFoxで表示されるリクエストとカールからのリクエストで質問を編集できますか?好ましくは両方の要求(第1および第2)。また、 User-Agent:という文字列をcURLリクエストとともに使用して、違いがあるかどうかを確認することも重要です。
追加された 著者 DaveRandom,
curlリソースに関連するリクエストを行うために使用するコードを提供します。
追加された 著者 Ranty,
書き込み可能であればテスト用にコマンドを実行しました。真を返します。ヘッダーに関しては、私がサーバーからの要求を行っているときに、FirefoxからLive Http Headersプラグインを使用しているため、いくつかのクッキーが使用されていると確信しています。それでもファイルサイズは0Bで、最後に変更された日付は作成日時です。もし私がseconsポストをしているときにヘッダを印刷すると、Array:[0] => HTTP/1.1 302 Found [1] => Set-Cookie:iApply-PROD-COOKIE = R1294003214
追加された 著者 user1104866,
だから@DaveRandomいくつかのクッキーがどのように設定されているかを見ることができますが、それらのすべてではありません。私が通常ログインするとき、JSESSIONIDは、2番目のPOSTを実行しているときに同じままで、見つからないようなもので、新しいリクエストを作成しているようなものです。
追加された 著者 user1104866,

1 答え

ここに私が作品を確認できる例があります。これは、cookieJarファイルのフルパスを示し、スクリプトの実行場所から完全なパスを取得するので、ほとんどのOSで動作するはずです。

<?php
$cookiepath = __DIR__.DIRECTORY_SEPARATOR.'cookieJar.txt';
echo "Saving cookies to: $cookiepath\n";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.com");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiepath);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiepath);
curl_setopt($ch, CURLOPT_HEADER  ,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
?>
0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript