"在HTTP响应头部Set-cookie字段返回cookie,在会话期间,所有HTTP请求头部应携带该cookie(具体参见HTTP协议标准)。"请问这句话应该如何理解?请求后我输出HEADER看到set-cookie里面有很多内容请问 如何 正确的 携带 COOKIE
//cookie保存目录
$cookie_file = dirname(__FILE__).'/cookie.txt';
//模拟请求数据
function request($url,$postfields,$cookie_jar,$referer){
$ch = curl_init();
$options = array(CURLOPT_URL => $url,
CURLOPT_SSL_VERIFYHOST=>1,
CURLOPT_SSL_VERIFYPEER=>false,
CURLOPT_HEADER => 0,
CURLOPT_NOBODY => 0,
CURLOPT_PORT => 80,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postfields,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_COOKIEJAR => $cookie_file,
CURLOPT_COOKIEFILE => $cookie_file,
CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
ob_start(); //开启浏览器缓存
$code = curl_exec($ch);
curl_close($ch);
ob_end_clean();
return $code;
}
//cookie保存目录
$cookie_file = dirname(__FILE__).'/cookie.txt';
//模拟请求数据
function request($url,$postfields,$cookie_jar,$referer){
$ch = curl_init();
$options = array(CURLOPT_URL => $url,
CURLOPT_SSL_VERIFYHOST=>1,
CURLOPT_SSL_VERIFYPEER=>false,
CURLOPT_HEADER => 0,
CURLOPT_NOBODY => 0,
CURLOPT_PORT => 80,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postfields,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_COOKIEJAR => $cookie_file,
CURLOPT_COOKIEFILE => $cookie_file,
CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
ob_start(); //开启浏览器缓存
$code = curl_exec($ch);
curl_close($ch);
ob_end_clean();
return $code;
}
// ...
CURLOPT_COOKIEJAR => $cookie_jar, // not $cookie_file
CURLOPT_COOKIEFILE => $cookie_jar,
}
CURLOPT_COOKIEJAR => $cookie_file,
CURLOPT_COOKIEFILE => $cookie_file, $cookie_file = dirname(__FILE__).'/cookie.txt';
有什么区别吗?不都是变量吗?
还有,我问的问题是
"在HTTP响应头部Set-cookie字段返回cookie,在会话期间,所有HTTP请求头部应携带该cookie(具体参见HTTP协议标准)。"这句如何理解?
CURLOPT_COOKIEFILE => $cookie_file, //这个是将cookie 带上 一起发送..so 自己看着办
然后保存 CURLOPT_COOKIEJAR => $cookie_file,
然后再POST CURLOPT_COOKIEFILE => $cookie_file, 携带 COOKIE吗?
这里的保存的COOKIE 是来自哪里的?是POST之后保存的吗?