我有代理,我想将cookies
存储在客户端cookies
中但是当我使用以下代码时它不起作用,它们不会存储在浏览器中,如果它们存储在服务器中的任何地方它们不行。
$responseInfo = curl_getinfo($ch);
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
curl_close($ch);
$responseHeaders = substr($response, 0, $headerSize);
preg_match_all("/Set-Cookie: (.*?)=(.*?);/i",$responseHeaders,$cookies);
array_shift($cookies); //removes first
$i = 0;
foreach($cookies[0] as $name) {
$curl_cookies .= $name."=".$cookies[1][$i].";";
// if(!isset($_COOKIE[$name])) {
// setcookie( $name, $cookies[1][$i], time()+(60*60*24*30) );
// }
// elseif($_COOKIE[$name] != $cookies[1][$i]) {
// setcookie( $name, $cookies[1][$i], time()+(60*60*24*30) );
// }
$i++;
}
curl_setopt($ch, CURLOPT_COOKIE, $curl_cookies);
当我使用评论代码时,请删除
$curl_cookies .= $name."=".$cookies[1][$i].";";
和
curl_setopt($ch, CURLOPT_COOKIE, $curl_cookies);
Cookie是客户cookies
中的商店,但也不适用于网站。
但当我将该代码替换为:
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
一切正常,但cookies
对于任何用户都是一样的,我可以使用类似
curl_setopt($ch, CURLOPT_COOKIEFILE, $ip."cookie.txt");
但是这种方式会为访问我的代理的每个.txt
提供大量ip
个文件。
知道如何将cookies
存储到客户端 cookies
并让它们正常工作吗?