$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); #释放句柄
本文出自 “Freax” 博客,请务必保留此出处http://freax.blog.51cto.com/6614733/1395233
原文:http://freax.blog.51cto.com/6614733/1395233