2009-12-07 78 views
1

用cURL可能不是每個用戶都使用同一個曲奇嗎?捲曲曲奇處理

因爲我存儲我得到的cookie很酷,但是這個cookie會被所有人使用,它應該是,因爲它是一個登錄cookie。

查理

+0

請爲您的問題提供一些背景。 – 2009-12-07 15:17:37

+0

我的問題是,使用cURL這個cookie不適用於瀏覽器,它適用於所有人,並且它對於登錄事物並不酷。有人知道一些比cURL更好地處理cookie的東西嗎? – Charlie 2009-12-07 15:22:49

+0

請注意,curl是一個命令行工具,並且在這個星球上有幾乎所有可以想象的語言都有libcurl綁定。因此,「使用捲曲」可以是多種不同的方式之一。你是否在某種程度上指的是使用這種特定的方式或一般? – 2009-12-07 20:33:21

回答

2

你的問題不清楚,你希望所有用戶使用相同的cookie或沒有?什麼是您的案例中的用戶,您網站上的訪問者?

在任何情況下,您都可以使用curl_setopt和CURLOPT_COOKIE *常量來設置將使用哪個文件curl來保存/加載其Cookie。

+0

因此,我在一臺計算機(通過API)登錄,捲曲存儲cookie,但在另一臺計算機上我不必登錄,因爲它使用相同的cookie,我不想要。 – Charlie 2009-12-07 15:14:04

+2

然後以某種方式創建一個標識符以知道請求來自哪個「計算機」,然後在爲CURLOPT_COOKIEFILE和CURLOPT_COOKIEJAR提供的文件名中使用該標識符。這樣cookie文件就會改變每個'電腦'。 – Lepidosteus 2009-12-07 15:19:26

3

這裏的餅乾是如何工作的

  1. 客戶端(瀏覽器),一個真正的基本概述,使請求

  2. 服務器看到請求,並問:「嗨,這個客戶給我餅乾嗎?」

  3. 服務器沒有看到一個cookie,它確實是這樣一些東西,然後發回一個響應,用一個cookie

  4. 客戶端(瀏覽器)看到響應並說:「嗨,你看,一個cookie的我,我還是拯救這個「

  5. 下一次客戶端向同一服務器發出請求,它沿着相同的cookie

  6. 服務器看到請求,並要求將」嗨,這個客戶給我一塊餅乾?」

  7. 服務器看到這一次的cookie,並且不會因爲什麼在cookie中的一些不同的東西,然後發回一個響應,用一個cookie

  8. 客戶端(瀏覽器)看到的反應,並說:「嘿你看,我一個cookie,讓更新我有」

這聽起來像你正在運行到是你必須從同一臺機器上運行多個要求捲曲的問題,但希望每個人使用一個不同的cookie文件。

您應該能夠通過使用以下兩種捲曲選項

CURLOPT_COOKIEJAR //tells curl which file to save the cookie from the server in 
CURLOPT_COOKIEFILE //tells curl which file to look in and send as the request cookie 

如果您設置一個系統,使每個不同的捲曲請求設置這兩個選項不同的路徑值,你應該實現這個組。