我有一个脚本,从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