PHP curl session 使用
博客专区 > ehovel 的博客 > 博客详情
PHP curl session 使用
ehovel 发表于2年前
PHP curl session 使用
  • 发表于 2年前
  • 阅读 329
  • 收藏 6
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

直接获取header中cookie(sessionid)用来继续请求

$url = 'test.com'; //url地址
$post = "id=user&pwd=123456"; //POST数据//或GET
$ch = curl_init($url); //初始化
curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); //发送POST数据
$content = curl_exec($ch); //执行curl并赋值给$content
preg_match('/Set-Cookie:(.*);/iU',$content,$str); //正则匹配
$cookie = $str[1]; //获得COOKIE(SESSIONID)
curl_close($ch); //关闭curl/*-----使用COOKIE-----*/
curl_setopt($ch,CURLOPT_COOKIE,$cookie);//设置cookie再次请求

保存到文件用来请求

$cookie_jar = dirname(__FILE__)."/pic.cookie";
$url = "http://test.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);
//之后的请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://test.com/check.action?');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$ret = curl_exec($ch);
curl_close($ch);


共有 人打赏支持
粉丝 0
博文 7
码字总数 1606
×
ehovel
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: