2016-09-26 104 views
0

我在獲取網站的實際會話時遇到了一些麻煩,因此我稍後需要使用它。從捲曲中獲取會話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

保存在cookie看起來你的會話cookie保存,但不會使用。嘗試添加此選項

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

所以我的會話將記錄在cookie.txt中,但是如何檢索它?用file_get_content打開文件並查找會話? – dreid

+0

不,curl只會讀取您在CURLOPT_COOKIEJAR中提供的文件中的會話數據。這就是爲什麼你應該把CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE都指向同一位置 – Nick