无法在PHP中使用Cookie
我正在使用cURL解析一个网站 它需要会话才能查看,如果没有会话,则页面重定向到: 我使用此代码获取会话cookie,但我不知道为什么我看不到文件cookies.txt的任何更改无法在PHP中使用Cookie,php,curl,session-cookies,Php,Curl,Session Cookies,我正在使用cURL解析一个网站 它需要会话才能查看,如果没有会话,则页面重定向到: 我使用此代码获取会话cookie,但我不知道为什么我看不到文件cookies.txt的任何更改 $urltopost = "http://www.hcmiu.edu.vn/bookforsale/perInfo.php"; $datatopost = array ( "name" => "abc", "tel" => "99999999", "email" => "abc@gmail.com
$urltopost = "http://www.hcmiu.edu.vn/bookforsale/perInfo.php";
$datatopost = array (
"name" => "abc",
"tel" => "99999999",
"email" => "abc@gmail.com",
"profession" => "abc",
"employer" => "abc",
"tel_work" => "99999999",
);
$ch = curl_init($urltopost);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookies.txt");
$returnData = curl_exec($ch);
$file = fopen("example.txt", "w");
fwrite($file, $returnData);
fclose($file);
curl_close($ch);
然而,我看到:
Set-Cookie: PHPSESSID=1egb993objkrdp3gi5mpvs02g0; path=/
在标题中。谢谢你的帮助
-编辑:
我使用了一种巧妙的方法:我使用http查看器在浏览器cookie中查看PHPSESSID。然后我用它来创建一个cookies文件供cURL读取。然后我可以通过web服务器的会话检查来查看文件showbooks.php 文件可写吗?它是否存在?尝试创建该文件并授予其全局读写权限
还可以尝试使用相对路径(例如,./cookies.txt)而不是cookie jar文件的绝对路径。我使用此代码片段从服务器响应中提取cookie:
$returnData = curl_exec($ch);
$cookie = '';
$pattern = '/Set-Cookie:(.*?)\n/';
if (preg_match($pattern, $returnData, $result))
$cookie = $result[1];
我已经描述了我在这方面的经历。这种方法不使用cookie文件
<> >关注<强> cookie文件< /强>,请考虑以下建议: 使用绝对路径设置 变量CURLOPT_COOKIEFILE& 库基耶尔。让生活更轻松 使用realpath(“file.txt”)函数 获取绝对路径
该文件不存在。但是如果它存在,它也不会写入任何cookies数据。谢谢,你的解决方案对我帮助很大。我不知道为什么互联网上的一些教程不评论这个问题。