background image

 
php 的 curl 传送 cookie
 
两种方式:
一种是自动:
代码如下:
 
curl_setopt(

$curlHandle

, CURLOPT_COOKIEJAR, 'cookie.txt '); 

//

 

保存

curl_setopt(

$curlHandle

, CURLOPT_COOKIEFILE, 'cookie.txt '); 

//

 

读取

 
这样 COOKIE 会自动跟上去. 
不过要分两次,一是先访问产生 cookie,接着连结才能用 cookie
例子:
代码如下:
 
<?php 
 

function

 get_curlcuconent2(

$filename

,

$referer

$cookie_jar

 = tempnam('./tmp','JSESSIONID'); 

 

$ch

 = curl_init(); 

curl_setopt(

$ch

, CURLOPT_URL, 

$filename

); 

curl_setopt(

$ch

, CURLOPT_HEADER, false); 

curl_setopt(

$ch

, CURLOPT_RETURNTRANSFER, 1); 

 

//设置文件读取并提交的 cookie

 

路径

curl_setopt(

$ch

, CURLOPT_COOKIEJAR, 

$cookie_jar

); 

$filecontent

=curl_exec(

$ch

); 

curl_close(

$ch

); 

 

$ch

 = curl_init(); 

$hostname

 ="www.domain.com"; 

//$referer=""; 

curl_setopt(

$ch

, CURLOPT_URL, 

$filename

); 

curl_setopt(

$ch

, CURLOPT_REFERER, 

$referer

); 

// 看这里,你也可以说你从 google

 

curl_setopt(

$ch

, CURLOPT_USERAGENT, "www.domain.com"); 

 

//$request = "JSESSIONID=abc6szw15ozvZ_PU9b-8r"; //设置 POST

 

参数

//curl_setopt($ch, CURLOPT_POSTFIELDS, $request); 
// 上面这句,当然你可以说你是 baidu,改掉这里的值就 ok 了,可以实现小偷的功能,