2016-09-26 11 views
0

ウェブサイトの実際のセッションを取得する際に問題が発生しました。後でリクエストで使用する必要があります。curl phpからセッションを取得

$url="http://blabalbla"; 
$postdata="pass:123"; 
curl_setopt($handler, CURLOPT_URL, $url); 
curl_setopt($handler, CURLOPT_POST,true); 
curl_setopt($handler, CURLOPT_HEADER, 0); 
//Le vamos a enviar parámetros posts 
curl_setopt($handler, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt($handler, CURLOPT_COOKIEJAR, 'cookie.txt'); 
//Para poder guardar el html 
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true); 
//Para seguir las redirecciones 
curl_setopt($handler, CURLOPT_FOLLOWLOCATION, true); 

$url_destino=curl_getinfo($handler, CURLINFO_EFFECTIVE_URL); 
//Executamos 

$response = curl_exec ($handler); 

私はあなたのセッションクッキーが保存されているように見えますが、使用されていないPHPSESSID

+0

あるサーバーから別のセッションにcurlコールを与えると、それが維持されません。その場合は、curlリクエストでセッションを渡し、その変数をcurlレスポンスに戻す必要があります。このようにして、セッションは継続されます。 –

答えて

0

の下でセッションがクッキーに保存されていることがわかります。このオプションを追加してみてください

curl_setopt($handler, CURLOPT_COOKIEFILE, 'cookie.txt'); 
+0

私のセッションはcookie.txtに記録されますが、どのように取得しますか? file_get_contentでファイルを開き、セッションを探しますか? – dreid

+0

いいえ、curlはCURLOPT_COOKIEJARで指定したファイルからセッションデータを読み込みます。そのため、CURLOPT_COOKIEJARとCURLOPT_COOKIEFILEの両方を同じ場所にポイントする必要があります – Nick

関連する問題