Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-查看网站使用的cookies 我正在学习PHP,我正在创建一个cookie爬虫。_Php_Arrays_Cookies_Curl - Fatal编程技术网

PHP-查看网站使用的cookies 我正在学习PHP,我正在创建一个cookie爬虫。

PHP-查看网站使用的cookies 我正在学习PHP,我正在创建一个cookie爬虫。,php,arrays,cookies,curl,Php,Arrays,Cookies,Curl,现在,我正在使用PHPCrawl,我可以抓取网站-问题是我无法检索cookies列表 为了启用cookie处理,我有以下功能: $crawler->enableCookieHandling(true) 我知道Cookies是从页面发送的,应该在爬行过程中作为类的对象找到:PHPCrawlerDocumentInfo 但是,现在我不知道应该如何检索这个cookies对象以及如何显示它们的值 我的结果是得到如下结果: -www.cookiebot.com -www.cookie-checker.co

现在,我正在使用PHPCrawl,我可以抓取网站-问题是我无法检索cookies列表

为了启用cookie处理,我有以下功能: $crawler->enableCookieHandling(true)

我知道Cookies是从页面发送的,应该在爬行过程中作为类的对象找到:PHPCrawlerDocumentInfo

但是,现在我不知道应该如何检索这个cookies对象以及如何显示它们的值

我的结果是得到如下结果: -www.cookiebot.com -www.cookie-checker.com

有些人建议我使用CURL来实现这个目的——有人能提供帮助吗?——一个写函数或者任何对我有用的东西

这将是非常有帮助,因为我是绊倒


谢谢。

首先,我认为卷发周围没有任何东西。 其次,这应该很好:

<?php
$ch = curl_init('http://www.google.de/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
preg_match_all('/(Set-Cookie:.*)/', $result, $cookies);


foreach($cookies[0] as $cookie) {

    var_dump($cookie);
    preg_match_all('/(.*?)=(.*?)($|;|,(?! ))/', $cookie, $cookieMatch);
    var_dump($cookieMatch);
}
die();

要明确的是:你想抓取任何网站,并取回该网站为你的呼叫设置的cookies列表?你好,谢谢你的回答。我真的很想有一个类似的结果,两个网站之一,我已经发送给你。基本上,它们将所有使用的cookie作为输出。例如:1个cookie和2个第三方cookie,并显示简单的值,如名称、值和到期日期。这就是我想要做的。对于第三方cookie,你不仅要抓取网站本身,还要请求每一个这样的第三方内容。对于通过JS设置的cookie,您还必须执行JavaScript。非常感谢-我已经看到了这部分代码。我想任何人都有过PHP爬网的经验——在这里,我想我必须解析输出,因为它是“混合”的。上面的代码将只截取cookies。剩下的由你自己决定。
string 'Set-Cookie: PREF=ID=0565f3cee75e9b3e:FF=0:TM=1406983634:LM=1406983635:S=ilchxFTsUukIvmPn; expires=Mon, 01-Aug-2016 12:47:15 GMT; path=/; domain=.google.de
' (length=155)

array (size=4)
  0 => 
    array (size=4)
      0 => string 'Set-Cookie: PREF=ID=0565f3cee75e9b3e:FF=0:TM=1406983634:LM=1406983635:S=ilchxFTsUukIvmPn;' (length=89)
      1 => string ' expires=Mon, 01-Aug-2016 12:47:15 GMT;' (length=39)
      2 => string ' path=/;' (length=8)
      3 => string ' domain=.google.de
' (length=19)
  1 => 
    array (size=4)
      0 => string 'Set-Cookie: PREF' (length=16)
      1 => string ' expires' (length=8)
      2 => string ' path' (length=5)
      3 => string ' domain' (length=7)
  2 => 
    array (size=4)
      0 => string 'ID=0565f3cee75e9b3e:FF=0:TM=1406983634:LM=1406983635:S=ilchxFTsUukIvmPn' (length=71)
      1 => string 'Mon, 01-Aug-2016 12:47:15 GMT' (length=29)
      2 => string '/' (length=1)
      3 => string '.google.de
' (length=11)
3 => 
    array (size=4)
      0 => string ';' (length=1)
      1 => string ';' (length=1)
      2 => string ';' (length=1)
      3 => string '' (length=0)