$options = array(
CURLOPT_URL => $url,
CURLOPT_COOKIEFILE => $cookie_path, #获取cookie存入文件路径 #好像和CURLOPT_FOLLOWLOCATION不能同时开启(未验证
CURLOPT_COOKIEJAR => $cookie_path, #从文件路径读取cookie
CURLOPT_RETURNTRANSFER => 1, #将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
CURLOPT_FOLLOWLOCATION => 1, #启用时会将服务器服务器返回的"Location: "放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0",
CURLOPT_REFERER => $url, #伪造来源地址
#CURLOPT_HTTPHEADER, array("X-FORWARDED-FOR:$cip", "CLIENT-IP:$cip"), #构造IP 对于不同的服务器IP判断机制 不一定有用
);
#POST数据
$options[CURLOPT_POST] = 1;
$options[CURLOPT_POSTFIELDS] = http_build_query($post_data); #需要post的数据
curl_setopt_array($ch, $options); #根据数组设置参数
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); #兼容302跳转
#curl_setopt($ch, CURLOPT_NOBODY, true); #只获取信息,不下载内容 例如获取文件下载地址
$html=curl_exec($ch); #发送请求
echo curl_errno($ch); #判断错误返回码
$info = curl_getinfo($ch); #获取请求的详细信息 用于调试
curl_close($ch); #释放句柄