PHP CURL中CURLOPT_COOKIE的一次运用

利用PHP的CURL对某网站发起请求,采集对方的一些数据用。

之前用php的curl做过模拟登陆然后进行一些操作,但是这次事情比较紧急,而且对方的网站模拟登陆比较困难,所以放弃了。

直接登陆,然后发起需要的请求,在浏览器中可以看到请求需要的cookie,由于对php的curl学的不够精通,导致不知道还有CURLOPT_COOKIE这个参数,一直以为就是CURLOPT_COOKIEFILE和CURLOPT_COOKIEJAR,CURLOPT_COOKIE这个参数可以直接利用浏览器里requuset里的cookie参数

$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
         
$header = array();
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 ); // 对认证证书来源的检查
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 2 ); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch,CURLOPT_POST,true);//post访问
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);//post参数,字符串形式
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//文件流的形式
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);//设置header
curl_setopt($ch,CURLOPT_COOKIE,$cookie);//cookie字符串
         
         
$content = curl_exec($ch);
         
echo "<pre>";print_r(curl_error($ch));echo "</pre>";
echo "<pre>";print_r(curl_getinfo($ch));echo "</pre>";
echo "<pre>";print_r($header);echo "</pre>";
echo $content;

刚开始思路是想把cookie字符串转成CURLOPT_COOKIEFILE可用的形式,没找到便捷的方法,一直卡在那,后来不停的搜索问题的情况下找到了CURLOPT_COOKIE参数

上一篇: 没有了