0

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

1 回答 1

0

这有很多问题。

一是很多网站确实并且应该使用 SSL 进行登录。在这种情况下,您将需要 CURL 选项:

CURLOPT_SSL_VERIFYPEER

其次,有些网站要求您先加载他们网站的页面,然后才能使用他们的提交表单。

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

CURLOPT_FOLLOWLOCATION

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

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

于 2013-05-17T02:50:41.947 回答