0

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

脚本 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);
4

2 回答 2

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);

希望这有帮助..

于 2012-12-05T20:19:33.197 回答
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目录!

于 2012-11-11T11:03:35.373 回答