PHP使用CURL请求服务器获取cookie并保存

     // 初始化CURL
        $ch = curl_init();
        $url = '服务器地址';
        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数据流
        if(preg_match('/Set-Cookie:[\s]+([^=]+)=([^;]+)/i', $content,$match)) {
            $cookies[$match[1]] = $match[2];
            dump($cookies);
            foreach ($cookies as $cookieKey => $cookieVal ) {
                setcookie($cookieKey,$cookieVal);
            }
        }

 

转载于:https://www.cnblogs.com/ucdn/p/6588061.html

您好!针对您的问题,您可以在使用 PHPcURL 库发送请求时设置 `CURLOPT_COOKIEJAR` 选项来保存服务器返回的 cookie,然后在后续的请求使用 `CURLOPT_COOKIEFILE` 选项来发送该 cookie。以下是一个简单的示例代码: ```php $url = 'http://example.com/login'; $ch = curl_init($url); // 设置请求选项 curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, ['username' => 'your_username', 'password' => 'your_password']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置保存 cookie 的文件路径 $cookie_file = tempnam(sys_get_temp_dir(), 'curl_cookie'); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); // 发送登录请求 $response = curl_exec($ch); // 关闭 cURL 句柄 curl_close($ch); // 发送带有 cookie请求 $url = 'http://example.com/profile'; $ch = curl_init($url); // 设置请求选项 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置发送 cookie 的文件路径 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); // 发送请求 $response = curl_exec($ch); // 关闭 cURL 句柄 curl_close($ch); ``` 当您运行上述代码时,它会向 `http://example.com/login` 发送一个带有用户名和密码的 POST 请求来登录,然后将服务器返回的 cookie 保存到一个临时文件中。接下来,它会向 `http://example.com/profile` 发送一个 GET 请求,并使用前面保存cookie 来进行身份验证。您可以根据实际情况修改代码中的请求地址和其他选项。希望这可以帮助您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值