得到SESSION_ID()我有捲曲幾個問題:如何從捲曲
我需要使用
session_start()
與捲曲?如果不是,我如何從cURL獲得
session_id()
?什麼時候產生了
session_id()
?初始化cURL會話(
curl_init
)和執行cURL會話(curl_exec
)有什麼區別?
得到SESSION_ID()我有捲曲幾個問題:如何從捲曲
我需要使用session_start()
與捲曲?
如果不是,我如何從cURL獲得session_id()
?
什麼時候產生了session_id()
?
初始化cURL會話(curl_init
)和執行cURL會話(curl_exec
)有什麼區別?
捲曲是建立到服務器(就像你的web瀏覽器一樣)連接一個庫,沒有session_id
可言(因爲它只是檢索客戶端所看到的和session_id()
將是一個服務器端的方法) 。
就是說,通常是會話ID可以在請求的標頭中找到,例如Set-Cookie
標頭(或有時在URL本身中)。因此,如果您需要確定會話,我將着眼於使用cURL的Cookie Jar功能,或確保檢索和標題的內容,以便您可以查看Set-Cookie
的值。
後續:
curl_init
正在建立一個新的捲曲請求。基本上,它會創建一個新的cURL實例,然後您可以使用衆多的curl_setopt
設置進行配置。curl_exec
是根據您的配置執行cURL請求並返回結果。根據您的設置,這可能是您要進行的實際內容,一組標題,單個狀態結果或其他值。<?php
// create a new instance of curl we can configure
$curl = curl_init('http://google.com');
// begin configuring that instance
curl_setopt($curl, CURLOPT_COOKIE, 'PHPSESSID=12345ABCDE67890');
// now fire off the result, with the specified cookie attached
// (in this case, it's fetching google.com with a cookie named PHPSESSID
// and a value of 12345ABCDE67890)
$result = curl_exec($curl);
PHP會話Cookie中默認transmited,如果通過捲曲得到網頁,並試圖訪問同一網頁的另一部分,則必須添加你從了會議cURL
您可能需要考慮將用戶從一個站點切換到另一個站點並仍保持其「登錄」狀態的替代解決方案。
我張貼類似的話題的響應,你可能想看看:Session lost when switching from HTTP to HTTPS in PHP
概括地說,你可以創建一個哈希鍵,將用戶重定向到站點B,查找哈希鍵,如果他們排隊將用戶登錄到siteB。
首先,會話和cURL是完全不同和不相關的東西。會話就像當前用戶的服務器端緩存。 cURL是一種用PHP發送HTTP請求的方式,例如GET和POST。一些API需要使用cURL從您自己的PHP腳本/代碼中與它們進行交互。
session_id()函數用於獲取或設置當前用戶的當前會話ID。如果你想設置的會話ID 7例如,你會打電話
session_id(7);
session_start();
如果你想獲取會話ID,你會打電話
session_start();
$CurrentSessID = session_id();
,當你調用生成會話ID session_start(),除非在調用session_start()之前自己設置它。
你想完成什麼? PHP會話和cURL並沒有太大的關係。 – 2011-12-14 18:47:00
你能解釋你想完成什麼嗎?在這個問題中,你認爲會話和cURL沒有任何共同之處。 – Lars 2011-12-14 18:47:29