PHP - cURL和远程登录

时间:2012-11-11 09:54:22

标签: php curl

我的脚本使用cURL有问题。在页面A上,我设置了cURL POST并将其发送到页面B,其中执行登录脚本。数据正确传递,但会话和cookie未在页面B上设置。

脚本login.php打开SESSION(最终COOKIE)并保存必要的信息。如果我直接从页面B登录,它工作正常。

    $ch = curl_init("http://www.example.com/login.php");


    curl_setopt ($ch, CURLOPT_POST, 1);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, "login_name=xxx&login_pass=xxx");


    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);


    $output = curl_exec ($ch);

    curl_close ($ch);

2 个答案:

答案 0 :(得分:0)

使用COOKIEJAR & COOKIEFILE

<?php
    $ch = curl_init("http://www.example.com/login.php");

    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "login_name=xxx&login_pass=xxx");
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/cookie.txt');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


    $output = curl_exec($ch);

    curl_close ($ch);
?>

您还可以创建一个存储Cookie的 tmp 目录!

答案 1 :(得分:0)

尝试将此添加到您的代码中

$cookie="cookie.txt";
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl_connection, CURL_COOKIEJAR, $cookie);
curl_setopt($curl_connection, CURL_COOKIEFILE, $cookie);
curl_setopt($curl_connection, CURL_VERBOSE, true);

希望这有用..