我有一個腳本,從Facebook頁面中提取信息。使用opengraph不可用的信息,但這是我的客戶爲其頁面請求的內容。cURL Cookies和Facebook
無論如何,有什麼辦法可以在cURL腳本中使用瀏覽器中的cookies?
此刻,當你運行它要求你登錄腳本,但我已經登錄到Facebook上的那一刻和腳本仍然要求我登錄。
有沒有辦法使用來自瀏覽器的cookies?
謝謝
我有一個腳本,從Facebook頁面中提取信息。使用opengraph不可用的信息,但這是我的客戶爲其頁面請求的內容。cURL Cookies和Facebook
無論如何,有什麼辦法可以在cURL腳本中使用瀏覽器中的cookies?
此刻,當你運行它要求你登錄腳本,但我已經登錄到Facebook上的那一刻和腳本仍然要求我登錄。
有沒有辦法使用來自瀏覽器的cookies?
謝謝
沒有,因爲從技術上講,你不應該能夠抓住他們。但是,您可以創建餅乾捲曲請求(這是我的一箇舊腳本的一個片段,它可能無法與Facebook的近期工作,100%的變量可能已經改變等)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($email).'&pass='.urlencode($password));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "/app/my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "/app/my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_exec($ch);
一旦儲存餅乾,你可以改變網址並從那裏開始。
嘗試使用:
curl_setopt($ch, CURLOPT_COOKIE, 'COOKIENAME=COOKIEVALUE;COOKINAME2=COOKIEVALUE2');
你得到的cookie名稱和值的方法是給你。
有關選項CURLOPT_COOKIE這是什麼PHP.NET說一下:
CURLOPT_COOKIE的 的內容「的Cookie:」頭在 HTTP請求中被使用。請注意,多個 cookie與後面加一個空格分號分隔 (例如, 「水果=蘋果;的color = red」)
如果他只是發送隨機cookies,那會起作用,但他想要做的是通過瀏覽器從另一個網站獲取cookie的值。 這是不允許的,除非他利用安全漏洞。 – 2010-06-13 15:45:25
因此,它是不可能做我想要做什麼? – 2010-06-13 15:24:03
沒有強迫用戶通過腳本再次登錄並自己獲取cookie,是的。 無論您是否可以保持足夠的數據安全來存儲cookie,即使是臨時存儲在您的服務器上,我也會向您保證。 – 2010-06-13 15:26:57