PHP Curl POST / SESSION / COOKIE问题

时间:2011-12-12 20:29:02

标签: php post curl

我想创建一个脚本,可以使用POST信息登录,然后同时浏览一些页面。 (登录后)所以我需要保留会话/ cookie的东西......

我尝试了一些东西,登录(POST)工作正常。

但是当我尝试执行第二个网址时(第一个是登录页面)我丢失了会话/ cookie,网页说我已经不再登录了:

我的代码在哪里错了?

$url = 'http://www.example.com/authenticate.php';
$url2 = 'http://www.example.com/twourl.php';

$player = 'myuser';
$password = 'mypass';
$fields = array(
            'player'=>urlencode($player),
            'password'=>urlencode($password),
        );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');

//open connection
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch, CURLOPT_HEADER, 0);

//execute post
curl_exec($ch);

curl_setopt($ch, CURLOPT_URL,$url2);
curl_setopt($ch, CURLOPT_HEADER, 0);

//execute two url
curl_exec($ch);

//close connection
curl_close($ch);

为什么不让我登录第二个网址?

1 个答案:

答案 0 :(得分:0)

结帐http://www.php.net/manual/en/book.curl.php#97160我看不到您要将会话传递到网站的位置。

编辑:您还可以查看http://www.phpbuilder.com/board/showthread.php?t=10346748