Heim > php教程 > php手册 > php中curl获取返回页面的cookie

php中curl获取返回页面的cookie

WBOY
Freigeben: 2016-06-02 09:13:50
Original
2674 Leute haben es durchsucht

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

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

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

<?php
setcookie(&#39;test&#39;, &#39;sssss&#39;);
setcookie(&#39;xxx&#39;, &#39;www&#39;);
?>
Nach dem Login kopieren

//获取cookie的脚本

<?php
$url = &#39;http://localhost/test.php&#39;;
$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(&#39;/Set-Cookie:stest=(.*)/i&#39;, $string, $results);
var_dump($results);
?>
Nach dem Login kopieren

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

<?php
$url = "http://www.phprm.com/";
$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);
?>
Nach dem Login kopieren

curl参数介绍

CURLOPT_COOKIEJAR 用于保存 cookie 到文件

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

CURLOPT_COOKIE 用于发送 cookie 变量

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

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

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


教程链接:

随意转载~但请保留教程地址★

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage