2009-09-02 78 views
1

我正在制作一个PHP脚本,它可以像网站上提供的API一样工作。我正在使用curl,并且该网站使用javascript发布cookie,所以我无法阅读它们。如何阅读使用PHP的Javascript cookie

是否有PHP类或PHP模块会读取javascript,存储cookie并让我重新提交curl到提到的页面?

我读过的地方有可能从Java读取PHP,所以也许有类似的方式为JS/PHP?

+0

http://pecl.php.net/package/spidermonkey是一种方法吗? – Chris 2009-09-02 15:01:07

+0

当你说“该网站发布JavaScript与JavaScript”,你的意思是? – 2009-09-07 20:51:17

+0

我的意思是说,该网站设置Cookie与javscript setCookie()函数。如果它将使用PHP设置,我可以从cUrl函数读取它。 – Chris 2009-09-08 11:51:36

回答

5

你最好打赌是尝试从php读取cookie。 Javascript本身无法与php交谈,但是php可以获取JavaScript创建的cookie。

http://php.net/manual/en/features.cookies.php接着说:

从 客户端发送到您的任何cookie将被自动包含 到$ _COOKIE自动全局数组...

希望这有助于!

+0

或者您可能正在寻找http://www.php.net/manual/en/function.setcookie.php – darkAsPitch 2009-12-07 02:19:48

0

这听起来像你的脚本将“在”网站和客户之间?例如。客户端调用您的API,并且您登录到假装成为客户端的网站,然后传回结果?

如果是这样,那么该网站设置的所有Cookie将通过页面的标题返回。您可以通过致电

curl_setopt($handle, CURLOPT_HEADER, true); 

来请求该页面。当你得到返回的页面时,它将在它的开头有HTTP头文件。然后,您可以在标题中搜索任何“set-cookie”行,并且它们将包含网站尝试向客户端发送的cookie的详细信息。

+0

javascript设置的Cookie在客户端设置,因此它们不会包含在服务器的响应中。 – Cyclonecode 2013-02-12 17:39:02

1

您需要检查写入cookie的javascript的逻辑并尝试使用php复制它。服务器将无法验证cookie是否已由脚本或JavaScript设置,因为JavaScript正在客户端上工作。