我正在尝试构建一个下载pdf的cURL请求。我收到“错误:最多(100)重定向后”错误,并认为这是由于cookie问题。这是我的cURL请求中的相关代码:
$cookie_file = "/home/mrpeanut/php/cookie.txt"
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSLVERSION, 4);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, implode(':', $arrayCiphers));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 100);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_COOKIEJAR, realpath($cookie_file));
curl_setopt($ch, CURLOPT_COOKIEFILE, realpath($cookie_file));
还试过CURLOPT_COOKIEJAR, '-'
(来自here),一切都没有运气。使用浏览器,pdf下载得很好。但是,即使我使用Web Developer工具栏禁用所有cookie,它也会下载(所以这可能不是我的真正问题?)。
答案 0 :(得分:0)
您需要使用PHPSESSID的值发送CURLOPT_COOKIE。这就是服务器识别cookie的方式。
你应该添加这个
curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/');