好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php中curl获取返回页面的cookie - php高级应用

php中curl获取返回页面的cookie

php的curl可以模仿用户浏览网页并且获取网页的cookie,获取cookie还有专用的参数如CURLOPT_COOKIEJAR 用于保存 cookie 到文件了,下面一起来看几个例子吧.

curl可以获取返回页面设置的cookie,原理跟get_headers是一样的,在返回的头信息中将"Set-Cookie:"的内容取出来即可.

测试页面/设置cookie的页面,test.php代码如下:

<?php  setcookie( 'test' ,  'sssss' );  setcookie( 'xxx' ,  'www' );    //获取cookie的脚本     <?php  $url  =  'http://localhost/test.php' ;  $ch  = curl_init( $url );  //初始化   curl_setopt( $ch ,CURLOPT_HEADER,1);  //将头文件的信息作为数据流输出   curl_setopt( $ch ,CURLOPT_RETURNTRANSFER,1);  //返回获取的输出文本流   curl_setopt( $ch , CURLOPT_HEADER, 1);  $string  = curl_exec( $ch );  preg_match_all( '/Set-Cookie:stest=(.*)/i' ,  $string ,  $results );  var_dump( $results );  ?> 

获取cooke并保存到文件,代码如下:

$url  =  "http://HdhCmsTestphpfensi测试数据/" ;  $ch  = curl_init();  curl_setopt( $ch , CURLOPT_URL,  $url );  curl_setopt( $ch , CURLOPT_HEADER, 0);  curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true);  curl_setopt( $ch , CURLOPT_COOKIEJAR,  $cookie_jar );  $content  = curl_exec( $ch );  curl_close( $ch ); 

curl参数介绍

CURLOPT_COOKIEJAR 用于保存 cookie 到文件

CURLOPT_COOKIEFILE 用于将保存的 cookie 文件发送出去

CURLOPT_COOKIE 用于发送 cookie 变量

所谓 在会话结束后就过期了,是因为浏览器不保存没有过期设定的 cookie 变量,所以关闭浏览器后再次请求时就没有 cookie 发送出去.

curl 处理中,如果是一次做完,只需 CURLOPT_COOKIEJAR 就可以.

若要分段处理则先 CURLOPT_COOKIEJAR,后 CURLOPT_COOKIEFILE,发送 cookie 文件内容的段,不要 CURLOPT_COOKIEJAR,以避免新的 cookie 变量的影响.

查看更多关于php中curl获取返回页面的cookie - php高级应用的详细内容...

  阅读:87次