2009-09-02 68 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正在客戶端上工作。