我正在使用带有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);
答案 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