2013-01-24 69 views
1

可能重複:
how to get the cookies from a php curl into a variable我怎樣才能使捲曲拿到餅乾

我有以下運行的代碼,它做什麼,就是讓使用curl網頁。我的問題是,當它得到的網頁,它不從網站獲取cookie。

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, ''.$stuff_link[0].''); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_AUTOREFERER, false); 
    $html = curl_exec($ch); 
    curl_close ($ch); 
    echo $html; 

我試了幾件沒有工作的東西。

+0

我看到後與疲憊,它不使用 – user2002220

+0

請更新代碼到你的努力/謝謝我看到那篇文章,我試了這個,它沒有工作,它仍然沒有得到所有的餅乾,併爲我設置它們。 – Mark

回答

0

試試這個:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "HTTP://URLHERE.COM"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_AUTOREFERER, false); 
$html = curl_exec($ch); 
preg_match('/^Set-Cookie: (.*?);/m', curl_exec($ch), $m); 
var_dump(parse_url($m[1])); 
curl_close ($ch); 
echo $html; 

重複的問題相當多來自: how to get the cookies from a php curl into a variable

+0

工作 – user2002220

+0

爲我們提供了一個你正在使用的代碼和它返回的例子 – Mark

+0

Im使用上面的代碼和$ stuff_link [0]被設置爲一個鏈接作爲cookie,但是當curl運行它不會加載cookies – user2002220

4
$ch = curl_init('http://www.google.com/'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
// get headers too with this line 
curl_setopt($ch, CURLOPT_HEADER, 1); 
$result = curl_exec($ch); 
// get cookie, all cos sometime set-cookie could be more then one 
preg_match_all('/^Set-Cookie:\s*([^\r\n]*)/mi', $result, $ms); 
// print_r($result); 
$cookies = array(); 
foreach ($ms[1] as $m) { 
    list($name, $value) = explode('=', $m, 2); 
    $cookies[$name] = $value; 
} 
print_r($cookies); 
+0

感謝與此打印餅乾,但他們沒有設置在我的瀏覽器 – user2002220

+0

是的,真的。服務器(URL)嘗試設置cookie但不能,因爲cookie會轉到CURL(簡單地說)。所以它與此(命令行)相同:'curl -v http:// google.com /'。但是,如果您使用瀏覽器打開URL,則這些Cookie將在您的瀏覽器上設置。 –