0

解決済み: イェーイ。あなたが書いたものに加えて、私はこれを見つけました:http: //www.smooka.com/blog/2009/07/24/maintaining-php-session-when-using-curl/ session_write_close(); 次のセットを初期化する前に。セッションにリソース変数(Curlのハンドルなど)を登録できないように見えるため、AJAX/jqueryを理解する必要があります。


cURLを使用してサイトにログインしたい。彼らのログインプロセスは、file_get_contents()を使用して解析できるトークンを使用します。ただし、cURLを使用してサイトに再度アクセスしようとすると、トークンは適切ではなくなります。cURLを使用してファイルを読み取り、一時停止して計算/ステップを実行してから、フィールド投稿する方法はありますか?もっと良い方法はありますか?

4

1 に答える 1

0

トークンは、サイトにアクセスしたときに設定されるセッション Cookie に関連付けられているため、おそらく適切ではありません。には Cookie トラッキングがないためfile_get_contents、cURL を使用して初期 URL を要求し、トークンを取得して計算を行い、cURL を使用して再度ポストバックする必要があります。

cURL で Cookie を追跡するには、cURL ハンドルにCURLOPT_COOKIEFILEおよびオプションを使用します。CURLOPT_COOKIEJAR

$cookies = '/tmp/cookies.txt';  // path to cookie file
$ch = curl_init('http://site.com');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
//...
$res = curl_exec($ch);

// grab token here...

// do calculations here...

curl_setopt($ch, CURLOPT_URL, 'http://site.com/next-url');

$res = curl_exec($ch); // execute next request on same handle

cURLを使用してさまざまなWebサイトにログインし、アクションを実行する私の他の回答を次に示します。コードを見ると役立つ場合があります。

于 2012-09-21T18:01:07.307 に答える