使用PHP获取外部网站的cookie

时间:2012-10-25 11:58:06

标签: php javascript cookies

我试图将网站的所有Cookie都放入PHP中的数组中。该脚本的目标是输入网站URL并让脚本检查设置了哪些cookie。

我尝试过像这样使用HTTP_Request

$req = new HTTP_Request($url);
$req->setMethod(HTTP_REQUEST_METHOD_GET);
$req->sendRequest();
$cookies = $req->getResponseCookies();

但这只是返回服务器端设置的cookie(如会话ID)。我还想收到使用javascript设置的Cookie,例如Google Analytics Cookie。

我知道这是可能的,因为网站:http://www.cookie-checker.com/能够这样做。确保" cookie-checker"网站真正解析javascript设置的cookie而不仅仅是解析已知的javascript源URL,我已经扫描了一个编写虚拟javascript cookie的测试网站。他们成功地检测到了这个cookie(包括名称,价值和到期日期)。

非常感谢任何帮助!

提前致谢。

百里

2 个答案:

答案 0 :(得分:4)

网站无法访问其他网站设置的Cookie。

浏览器(必须)确保不会发生这种情况。

您提到的网站是向服务器发出请求并解析(也是javascript)其内容。

您需要做的是确保您的脚本解析所有javascript并跟踪使用它设置的Cookie。

答案 1 :(得分:1)

Google Analytics Cookie由javasvascript设置,而不是在http请求的响应中。使用HTTP_Request是不可能的,使用PHP是不可能的......

你需要一个javascript intepreter来获取cookie,或者一些无头浏览器(也许是Zombie.js?)