请求服务器的时候发送`cookie`

项目需求,在请求服务器的时候需要发送cookie
查找资料一般都是说这个方法bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )
但是它并不能发送到服务器

  • 设置cookie的方式
// 通过头部
header("Set-Cookie: g=121");
// 通过setcookie函数设置
setcookie('name', 'value', time() + 10, '/',$url1);
// 还有一个通过JS传递COOKIE的
document.cookie = "username=Darren;path=/;domain=weblinux/test.php"
  • 后俩经过测试,发现使用curl可以。注意,多个cookie之间要用;号隔开
  curl_setopt($ch,CURLOPT_COOKIE, "g=".$token.';'.'PHPSESSID='.$_COOKIE['PHPSESSID'] );
    public function http_get($url,$token)
    {
        $ch = curl_init();
    // 请求时带cookie参数
        curl_setopt($ch,CURLOPT_COOKIE, "g=".$token.';'.'PHPSESSID='.$_COOKIE['PHPSESSID'] );
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($ch);
        if ($response === FALSE) {
            return false;
        }
        curl_close($ch);
        return $response;
    }


$url = 'http://test/test.php';
$res = http_get($url,121);
echo '<pre>';
print_r($res);


  • http://test/test.php页面
$res = $_COOKIE;
echo '<pre>';
print_r($res);
图片.png
  • 推荐一个打印头部的PHP函数
    getallheaders()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 1,232评论 0 51
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,388评论 1 17
  • 注:本文转载自前端大全 背景 在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称...
    楠小忎阅读 690评论 0 0
  • 一、会话控制(session与cookie) 1.cookie简介 Cookie是存储在客户端浏览器中的数据,我们...
    空谷悠阅读 651评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139