file_get_contents receive cookies(file_get_contents 接收 cookie)
问题描述
在执行 file_get_contents
请求时,是否可以接收远程服务器设置的 cookie?
Is it possible to receive the cookies set by the remote server when doing a file_get_contents
request?
我需要 php 来执行 http 请求,存储 cookie,然后使用存储的 cookie 发出第二个 http 请求.
I need php to do a http request, store the cookies, and then make a second http request using the stored cookies.
推荐答案
你应该使用 cURL
为此,cURL
实现了一个叫做 cookie jar 的特性,它允许将 cookie 保存在一个文件中,并在后续请求中重用它们.
you should use cURL
for that purpose, cURL
implement a feature called the cookie jar which permit to save cookies in a file and reuse them for subsequent request(s).
这里有一个快速的代码片段如何做:
Here come a quick code snipet how to do it:
/* STEP 1. let’s create a cookie file */
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
/* STEP 2. visit the homepage to set the cookie properly */
$ch = curl_init ("http://somedomain.com/");
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
/* STEP 3. visit cookiepage.php */
$ch = curl_init ("http://somedomain.com/cookiepage.php");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
注意:必须注意,您应该安装 pecl 扩展(或在 PHP 中编译),否则您将无法访问 cURL API.
note: has to be noted you should have the pecl extension (or compiled in PHP) installed or you won't have access to the cURL API.
这篇关于file_get_contents 接收 cookie的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:file_get_contents 接收 cookie
基础教程推荐
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01