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

php中curl获取返回页面的cookie

WBOY
Libérer: 2016-06-02 09:13:50
original
2673 Les gens l'ont consulté

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;);
?>
Copier après la connexion

//获取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);
?>
Copier après la connexion

获取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);
?>
Copier après la connexion

curl参数介绍

CURLOPT_COOKIEJAR 用于保存 cookie 到文件

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

CURLOPT_COOKIE 用于发送 cookie 变量

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

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

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


教程链接:

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal