Curl
使用 cURL 登錄網站
我正在嘗試使用以下命令從 cURL 命令行登錄
curl –data “username=user&password=pass&submit=Login” http://www.ip.com:8080/LoginApplication/Login.jsp
然後嘗試使用訪問內頁
curl http://www.ip.com:8080/LoginApplication/Success.jsp
但是由於未登錄,我被重定向到錯誤頁面。
我在第一個命令中缺少什麼以便它可以維持會話?我的網站在本地託管
那麼,您需要將會話數據儲存在 cookie 中。您可以使用
-c cookie_filename
創建 cookie(將其添加到您的登錄命令中)。然後,對於其他請求,您可以使用-b cookie_filename
.例如:
curl -s loginpage -c cookiefile -d "user=myself&pass=secure" curl -s secretpage -b cookiefile
編輯:
請注意,很多時候
loginpage
不是您使用網路瀏覽器打開的頁面,您在其中介紹您的使用者和密碼。您必須檢查表單將該數據發佈到的位置(搜尋<form>
原始碼中的標籤和action=...
屬性)。因此,例如,如果您要登錄https://criticker.com>,`loginpage`是<https://www.criticker.com/authenticate.php>而不是<https://www.criticker.com/signin.php,這是您使用瀏覽器打開的那個。瀏覽器的篡改外掛/擴展可能會幫助您找到正確的
loginpage
和發佈到它的所有數據(例如表單中的隱藏輸入欄位)。