zoukankan      html  css  js  c++  java
  • php使用CURL不依赖COOKIEJAR获取COOKIE的方法

    本文实例讲述了php使用CURL不依赖COOKIEJAR获取COOKIE的方法。分享给大家供大家参考。具体分析如下:

    PHP中CURL类是一个非常牛逼的工具类,具体怎么牛逼就不啰嗦了。

    对于COOKIE,CURL类也有很不错的支持,但不够灵活,并未能通过现成的方法以变量的方法获取到,而以要通过以下方法实现。

    // 把COOKIE保存至cookie.txt 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
     

    先把COOKIE保存文件,调用的时候还得读取文件,这样意味着两次的IO操作,效率如何,不用说大家都清楚了。
    那么有没有办法可以绕过写读文件呢?不卖关子,直接上代码:

    // 初始化CURL 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    // 获取头部信息 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    // 返回原生的(Raw)输出 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    // 执行并获取返回结果 
    $content = curl_exec($ch); 
    // 关闭CURL 
    curl_close($ch); 
    // 解析HTTP数据流 
    list($header, $body) = explode("
    
    ", $content); 
    // 解析COOKIE 
    preg_match("/set-cookie:([^
    ]*)/i", $header, $matches); 
    // 后面用CURL提交的时候可以直接使用 
    // curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
    $cookie = $matches[1]; 
     

    希望本文所述对大家的php程序设计有所帮助。

    转: https://blog.csdn.net/dbg8685/article/details/53289149

    参考: http://www.zjmainstay.cn/php-curl 

  • 相关阅读:
    html5shiv.js-让IE浏览器支持HTML5标准
    CSS2系列:外边距合并问题(margincollapse)
    HTML5:离线存储(缓存机制)-IndexDB
    CSS3系列:流式(弹性)布局(flex布局)
    Sublime Text 3 常用插件以及安装方法(转)
    后台配置参数写在文件上
    20160414
    2016413
    20160412
    网页设计素材网站
  • 原文地址:https://www.cnblogs.com/fps2tao/p/10011330.html
Copyright © 2011-2022 走看看