使用Curl和PHP保持會話活躍我正在嘗試連接到API,驗(yàn)證用戶身份,然后查看用戶詳細(xì)信息。這是通過首先訪問登錄端點(diǎn)來完成的http://api.example.com/login/<username>/<password>登錄,然后查看以下內(nèi)容以查看用戶詳細(xì)信息:http://api.example.com/user/這一切都可以在Web瀏覽器中使用。但是,一旦我嘗試使用Curl,登錄工作正常,但在嘗試查看用戶詳細(xì)信息時(shí),我會收到401,未經(jīng)授權(quán)的錯(cuò)誤。我相信這是因?yàn)镃url沒有正確保存會話cookie?有人可以指出它為什么不工作以及如何解決它?我已經(jīng)嘗試過搜索堆棧交換,但是,我嘗試過的解決方案都沒有適用于我的情況。我用來卷曲端點(diǎn)的代碼如下所示。謝謝!define("COOKIE_FILE", "cookie.txt");// Login the user$ch = curl_init('http://api.example.com/login/joe/smith');curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HEADER, true);echo curl_exec ($ch);// Read the session saved in the cookie fileecho "<br/><br/>";$file = fopen("cookie.txt", 'r');echo fread($file, 100000000); echo "<br/><br/>";// Get the users details$ch = curl_init('http://api.example.com/user');curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HEADER, true);echo curl_exec ($ch);
3 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
您已正確使用“CURLOPT_COOKIEJAR”(寫作),但您還需要設(shè)置“CURLOPT_COOKIEFILE”(閱讀)
curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);
- 3 回答
- 0 關(guān)注
- 568 瀏覽
添加回答
舉報(bào)
0/150
提交
取消