- #代表注释
- 注释与正文中间有一个空行分隔
- 域-创建并且可以读取变量的域。(如:.google.com)
- flag-一个TRUE / FALSE值,指示给定域内的所有计算机是否可以访问该变量。该值由浏览器自动设置,具体取决于您为域设置的值。
- path-变量在其域内有效的路径。
- 安全-一个TRUE / FALSE值,指示是否需要与域的安全连接才能访问该变量。
- expiration-变量到期的UNIX时间。UNIX时间定义为自格林尼治标准时间1970年1月1日00:00:00起经过的秒数。
- name-变量的名称。
- value-变量的值。
01 | # Netscape HTTP Cookie File
02 | # http://curl.haxx.se/rfc/cookie_spec.html
03 | # This file was generated by libcurl! Edit at your own risk.
04 |
05 | .google.com TRUE / FALSE 1305843382 cookiename the value
06 | .yahoo.com TRUE / FALSE 1305843382 another_cookie it's value
07 |
PHP 使用cookie 文件多用户模拟登陆
这里假设已经拿到n个用户的cookie,接下来用以下代码就可实现多用户模拟登陆
function request($url, $header, $proxy_ip = [])
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookie.tmp'); // 发送cookie文件
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie.tmp'); // 写入cookie到文件
$response = curl_exec($ch);
// 分离请求头和body
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $headerSize);
$body = substr($response, $headerSize);
curl_close($ch);
return [ 'header' => $header, 'resp' => $body ];
}
$header = [
'authority: h5api.m.tmall.com',
'accept: */*',
'sec-fetch-site: same-site',
'sec-fetch-mode: no-cors',
'sec-fetch-dest: script',
'referer: https://www.tmall.com/',
'accept-language: zh-CN,zh;q=0.9,en;q=0.8',
'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
];
request('https://www.tmall.com/', $header);