PHP - 查看网站使用的cookie

时间:2014-08-02 11:16:10

标签: php arrays cookies curl

我正在学习PHP,而我正在创建一个cookie-crawler。

目前,我正在使用PHPCrawl,我可以抓取网站 - 问题是我无法检索到Cookie列表。

我有这个,为了启用cookie处理: $ crawler-> enableCookieHandling(真);

我知道Cookie是从页面发送的,应该在抓取过程中作为类的对象找到:PHPCrawlerDocumentInfo。

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

我的结果是: -www.cookiebot.com -www.cookie-checker.com

有些人建议我使用CURL - 有没有人可以提供任何帮助, - 写作功能或对我有用的任何东西?

因为我被困了所以会非常有帮助!

谢谢。

1 个答案:

答案 0 :(得分:0)

首先我不认为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();

输出

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)