如何cURL pinterest登录?

时间:2014-05-09 01:38:26

标签: php curl

为什么这个cURL代码没有登录到Pinterest?

如果我将其设置为http://www.pinterest.com/login/,那么输出会加载页面,但是如果我将其设置为https页面显示此错误,原因是我无法理解过去7个小时。

Array ( 
    [url] => https://www.pinterest.com/login/ 
    [content_type] => text/html; charset=utf-8 
    [http_code] => 302 
    [header_size] => 447 
    [request_size] => 538 
    [filetime] => -1 
    [ssl_verify_result] => 0 
    [redirect_count] => 0 
    [total_time] => 0.050214 
    [namelookup_time] => 3.4E-5 
    [connect_time] => 3.9E-5 
    [pretransfer_time] => 9.3E-5 
    [size_upload] => 43 
    [size_download] => 0 
    [speed_download] => 0 
    [speed_upload] => 856 
    [download_content_length] => 0 
    [upload_content_length] => 43 
    [starttransfer_time] => 0.050187 
    [redirect_time] => 0 
    [certinfo] => Array ( ) 
    [redirect_url] => http://www.pinterest.com/csrf_error/ 

这是我到目前为止的代码..

$login_email = 'email';
$login_pass = 'password';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.pinterest.com/login/');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "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_setopt($ch, CURLOPT_REFERER, "https://www.pinterest.com/");
$page = curl_exec($ch);

$output=@curl_exec($ch);
$info = @curl_getinfo($ch);

echo $output;
print_r($info);

2 个答案:

答案 0 :(得分:0)

在你的卷曲设置选项中尝试这些选项

curl_setopt($curl, CURLOPT_SSLVERSION,3); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); 

如果您想通过网址进行身份验证

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ; 
curl_setopt($curl, CURLOPT_USERPWD, "username:password");

答案 1 :(得分:0)

    必须设置
  1. CURLOPT_COOKIEFILE / CURLOPT_COOKIEJAR个选项 绝对路径值。 "cookie.txt"是一条相对路径。
  2. 您必须将CURLOPT_SSL_VERIFYPEER选项设为false(或0) 除非您要提供CURLOPT_CAINFO选项。
  3. 服务器响应包含重定向。所以你必须告诉CURL 处理重定向。这假设您设置了CURLOPT_FOLLOWLOCATION 选项以及CURLOPT_MAXREDIRSCURLOPT_AUTOREFERER