【问题标题】:how to get cookie list from remote url using php如何使用 php 从远程 url 获取 cookie 列表
【发布时间】:2012-08-13 18:25:18
【问题描述】:

有谁知道我如何使用 php 获取外部 URL 的 cookie 列表?

我认为这可以通过 cURL 来完成?

例如,当我使用 cookiejar 或 get_headers 时,我只看到一个 cookie(PHPSESSID)。但是当您打开 chrome 控制台 (F12) 并转到 cookie 存储时,您会看到一个更大的列表。还有例如谷歌分析cookies。我希望能够显示该 cookie 列表。第三方 cookie 也是如此。。

有没有办法检索这些 cookie?也许将它们临时存储或其他什么?

【问题讨论】:

  • Cookies 驻留在客户端,而不是服务器上。
  • 问题不清楚,也许他想解析 Set-Cookie 标头的响应,或者使用 CURLOPT_COOKIEJAR。 OP请修改你的问题:)

标签: php cookies curl


【解决方案1】:

如果我没听错,您的意思是获取使用 cURL 访问页面时设置的 cookie,
您可以使用cURLCURLOPT_COOKIEJAR 选项通过cURL (curl_setopt) 自动管理cookie:

$ch = curl_init($url);  
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$cont = curl_exec ($ch);  
curl_close ($ch);  

或搜索Set-Cookie: 行的响应标头:
how to get the cookies from a php curl into a variable

【讨论】:

  • 您好,感谢您的回复!例如,当我使用 cookiejar 或 get_headers 时,我只看到一个 cookie(PHPSESSID)。但是当您打开 chrome 控制台 (F12) 并转到 cookie 存储时,您会看到一个更大的列表。还有例如谷歌分析cookies。我希望能够显示该 cookie 列表。第三方 cookie 也是如此。这可能吗?
  • @user1596031 如果您没有获得其他 cookie,可能是因为它们不是由您加载的页面创建的,而是由其他资源创建的。例如,谷歌分析 cookie(utma、utmz、...)将由不可见的图像创建。
  • 谢谢!这是一个很好的答案 :-) 有没有办法用 php(或 javascript)或任何其他语言检索那种 cookie?
  • 我认为这是我需要的,但随后以编程方式:chrome.google.com/webstore/detail/…
  • @user1596031:需要访问页面并获取其响应头才能获取cookie;因此,要获取其他类似 Google Analytics 的 cookie,您需要获取相关页面并保存这些 cookie。这是代码而不是浏览器,因此您应该在代码中自行阅读所有iframe、由 javascript(例如 Google Analytics)加载的页面、图像……。仅加载主页不会让您了解全部内容。对于特定页面,您可以单独找到所有材料并编写其获取代码。但是对于通用代码,您应该编写类似于 HTML/JS/CSS 渲染器引擎的东西!
猜你喜欢
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 2015-08-18
  • 2011-01-15
  • 2014-03-18
相关资源
最近更新 更多