在curl中重用cookie无法正常工作

时间:2018-07-24 12:02:42

标签: php curl cookies

第一次来这里,请帮忙!

我有两个职能不同的职能。首先,仅在外部网站上进行登录,其工作正常。在第二个功能中,我需要使用从第一个保存的登录名进行 POST 。我在两个函数中都使用具有相同路径的 CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE ,但是当我使用 var_dump(curl_getinfo($ ch )),该Cookie仅显示在第一个中,而不显示在第二个中,由于第二个功能而导致 401未经授权的服务器

<?php

$cookie_path = dirname(__FILE__).'/cookie.txt';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $login_conf['login_url']);
curl_setopt($ch, CURLOPT_REFERER, $login_conf['referer_header']);
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, TRUE );
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path);

$html = curl_exec($ch);
?>

基本上,这就是登录功能的内容,以及:

<?php

$cookie_path = dirname(__FILE__).'/cookie.txt';

$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $purge_conf['request_url']);
curl_setopt($ch2, CURLOPT_REFERER, $refheader_submit);
curl_setopt($ch2, CURLOPT_POST, 1 );
curl_setopt($ch2, CURLOPT_POSTFIELDS, $query_purge);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_HEADER, TRUE );
curl_setopt($ch2, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: '.strlen($query_purge))
);
curl_setopt($ch2, CURLINFO_HEADER_OUT, true);
curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch2, CURLOPT_COOKIEJAR, $cookie_path);
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_path);

$html_purge = curl_exec($ch2);
?>

是另一个,我需要向其他页面发送一个json帖子,因为我需要保留登录名和cookie。

我不知道我做错了什么,或者我错过了什么。

0 个答案:

没有答案