2010-04-02 147 views
1

我有一個問題,登錄到一個頁面,然後用cURL使用它。 我登錄後,獲取PHPSESSID和cookie,然後嘗試執行操作,但頁面返回'not logged in'。 但是,如果我手動登錄並將PHPSESSID複製/粘貼到curl cookies .txt文件中,則一切正常。那麼爲什麼它不能從cURL中使用PHPSESSID?php cURL問題

編輯: 當我將cURL生成的PHPSESSID複製到瀏覽器PHPSESSID時,它也有效,非常奇怪。

編輯2: 發現一個問題,有另一個登錄檢查之前不可見。

回答

2

你是否指向CURL在每個請求中使用cookie文件?類似這樣的:

curl_setopt($c, CURLOPT_COOKIEFILE, '/tmp/cookies'); 
    curl_setopt($c, CURLOPT_COOKIEJAR, '/tmp/cookies'); 

這會告訴CURL保存和加載文件中的cookie。 COOKIEJAR告訴curl在完成請求後保存cookie的位置,COOKIEFILE告訴它在請求之前從這個文件加載cookie。通常你會想要相同的文件。有關詳情,請參閱:http://php.net/manual/en/function.curl-setopt.php

+0

是的,Cookie用於每個請求。 – dfilkovi 2010-04-02 11:34:56

+0

發現問題。 – dfilkovi 2010-04-02 12:21:24