登录页面然后将其与cURL一起使用时出现问题。 我登录,获取PHPSESSID和cookie,然后尝试执行操作,但页面返回“未登录”。 但是,如果我手动登录并将PHPSESSID复制/粘贴到curl cookies .txt文件中,一切正常。那么为什么它不能与cURL的PHPSESSID一起使用?
编辑: 当我将cURL生成的PHPSESSID复制到浏览器PHPSESSID时,它也有效。非常奇怪。
编辑2: 发现问题,之前有另一个登录检查不可见。
答案 0 :(得分:2)
您是否指出CURL在每个请求中使用cookies文件?像这样:
curl_setopt($c, CURLOPT_COOKIEFILE, '/tmp/cookies');
curl_setopt($c, CURLOPT_COOKIEJAR, '/tmp/cookies');
这将告诉CURL保存并加载文件中的cookie。 COOKIEJAR在完成请求后告诉curl保存cookie的位置,COOKIEFILE告诉它在请求之前加载来自此文件的cookie。通常你会想要相同的文件。有关详细信息:http://php.net/manual/en/function.curl-setopt.php