php - 从浏览器中检索 cookie 将与 php curl 一起使用?
问题描述
我有一个简单的 php 应用程序,可以从网站获取价格,但它只有在我cookie
从页面的 chrome 浏览器请求中复制时才有效。我可以简单地复制/粘贴这一cookie
行,CURLOPT_HTTPHEADER
它会永远工作吗?
此外,当我设置代理时,它也能完美运行。我不知道为什么。谁能解释我?
谢谢
解决方案
如果您有 cookie 的内容(从浏览器复制),如果您使用 curl 和 php,如果 cookie 很少更改和/或如果您有一个简单的脚本,您可以在脚本中嵌入 cookie与示例中的 CURLOPT_COOKIE 一样。
curl_setopt ($ch, CURLOPT_COOKIE, <COOKIE_STRING_CONTENT>);
这是最简单的方法,但需要注意的是每次 cookie 更改时,您都需要更新脚本。
如果您需要更具延展性、更易于更新和维护的东西,您可以使用这 2 个指令 CURLOPT_COOKIEFILE 和 CURLOPT_COOKIEJAR,如下所示,
$cookieFile = "name_of_the_cookie_file_on_the_server"
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieFile);
这样做是指示脚本加载 cookie 文件,并将更改存储在同一个文件(如果有的话)上,这样如果您需要更新 cookie 的内容,您只需要更新 de cookie 文件。
curl 有很多不错的选择,不要忘记阅读http://php.net/manual/en/function.curl-setopt.php上的文档
推荐阅读
- laravel - 使用多个 php 版本安装 laravel
- java - 无法在 SAP PI 7.5 中的参数化 Java 映射中显示树视图
- php - Laravel 5.7 向新创建的用户发送电子邮件验证
- sql - SQL 在选择中使用选择来获取每年的结果
- web-worker - 为特定任务运行 10000 个工作人员与运行少数工作人员
- javascript - 骰子与每个数字的图片,javascript
- php - 代码点火器中的“导出 CI_ENV”是什么意思?
- python - Python & 路径解析
- python - 如何使用 python selenium 库提供搜索输入?
- ansible - Ansible AWX UI 或 tower-cli 智能搜索以排除模式匹配