2012-02-02 9 views
1

私はcurlでページにログインしようとしています。成功したログインが実際のサイトにリダイレクトされ、そこにコンテンツが表示されます。PHPクッキーを使ってログインする

基本的に2つのURLがあります。最初のURLはログイン資格情報を投稿するURLで、もう1つのURLはログイン後にコンテンツが表示される場所です。

ログインURLに投稿リクエストを送信しても有効なCookieが作成されましたが、そのCookieを使用して2番目のURLのページの内容を確認する方法はわかりません。

ページ2のコンテンツを取得するためにこれらの2つのオプションを使用して通常のカールリクエスト(コード内にPOSTFIELDSなし)を実行しようとしていますが、ソースを表示すると、ログインURL。

curl_setopt($ch1, CURLOPT_COOKIEJAR, 'cookie.txt'); 
curl_setopt($ch1, CURLOPT_COOKIEFILE, 'cookie.txt'); 

私が間違っている可能性のあるアイデアはありますか?

+0

両方の要求で物事の任意の数がこの問題を引き起こしている可能性があるのでいくつかのより多くのコードは、有用であろう。 – flesk

+0

下記の答えのコメントを参照してください – Kartik

答えて

0

は、あなたのCURLリクエストに対してより多くのパラメータを追加してください:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$string = curl_exec ($ch); 
curl_close ($ch); 
+0

これらのすべては現在ありますが、URLを渡すと返されるコンテンツはログインページにリダイレクトするHTMLコードです。クッキーが渡されなかったことを意味するこれが私が混乱している理由です – Kartik

+0

アクセスしようとしているサイトを私たちに与える方が良いです、私たちはテストを行い、正しい答えを返すことができます – Ashraf

+0

私は今最初のログインに貼り付けた正確なコードを使用しています。あなたのコードはクッキーを完全に設定します。今私はコンテンツを表示するためにこのクッキーを必要とするページのコンテンツを取得しようとしています。私はあなたにURLを与えるだろうが、あなたはそれにログイン資格を得ることができないので、どこにでも行くことができない。 – Kartik

関連する問題