curlを使用して正常にログインしました。curl - 次のページへ移動するには?
$ch = curl_init('http://site.com/login');
// setting posts, cookies file, headers
curl_exec($ch);
その後、ログインしているときに、私は他のページに移動する必要があり、いくつかのものを行うにはhttp://site.com/profit
を言うことができます。
どのようにですか?
他のPHPスクリプトを$ch = curl_init('http://site.com/profit')
と一緒に実行するか、1つのファイルで実行できますか?それはどのようにすべきか?あなたがウェブサイトであなたの「セッション状態」を維持するためにあなたの前の要求(これが成功したかどうか)
の出力に基づいて、このための別のCURLの要求を開始する必要が
@マーク - cURL接続のリクエストを閉じる必要はありません。 cURLはあなたのためにリファラーを自動的に設定するので、実際には有益ではありません。 'curl_close()'をスクリプトの最後に保存することができます。 –
@Francois - あなたは正しいかもしれません。しかし、CURLOPT_COOKIEJARのドキュメントでは、「curl_closeの呼び出しの後など、ハンドルが閉じられたときにすべての内部クッキーを保存するファイルの名前」と記載されています。だから私は、最初のものが閉じられていない限り、次のリクエストにクッキーが利用できないという結論に達しました。 curl_setopt(CURLOPT_URL)とcurl_execをcurl_initとcurl_closeの呼び出しの間に複数回使用すると、リクエスト間で共有されるクッキーがあると言いますか?私はそれを試す必要があります.... –
@マーク - 絶対に!それでもCURLOPT_COOKIEJARとCURLOPT_COOKIEFILEを定義する必要がありますが、セッションを閉じる必要はありません。私はcURLを使って何年も何かを掻き立てて自動化してきました!ドキュメントによれば、クッキーをファイルに保存したい場合(1時間または明日に再度使用できるように)、その設定をその目的のために使用することができます。 –