使用Curl与Cookie能够登录到twitter等但不是facebook wordpress等?

时间:2013-05-07 02:51:38

标签: php facebook curl twitter web-crawler

我正在使用带有cookie和用户代理的cUrl登录多个网站并获取信息。它非常方便,但对一些网站不起作用。而且我很好奇为什么。例如,我无法使用它登录我的Facebook帐户或Wordpress网站。令人惊讶的是它与twitter和大多数其他网站一起使用。某些网站是否有额外的安全检查,如果有,它们是什么以及如何通过它们?谢谢!

以下是我使用的php代码:

$webPage = "https://twitter.com";
$myCookieFile = "myCookies.txt"; //cookies are prepared here
$myUserAgent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;
rv:1.9.1.2)Gecko/20090729 Firefox/3.5.2 GTB5';

$ch = curl_init ($webPage);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $myCookieFile);//cookieFile used to read
curl_setopt($ch, CURLOPT_USERAGENT, $myUserAgent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

1 个答案:

答案 0 :(得分:0)

这有很多问题。

其中一个是很多网站都应该使用SSL进行登录。在这种情况下,您需要CURL opt:

CURLOPT_SSL_VERIFYPEER

其次,有些网站要求您在使用提交表单之前加载其网站页面。

第三,一些网站可能会使用301重定向。我看到一些甚至在登录后使用META重定向。用于此用途:

CURLOPT_FOLLOWLOCATION

最后,我建议将此用于CURL:

http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading