Linux curl攜帶cookie測試介面
阿新 • • 發佈:2020-09-12
問題:
休息在家,被告知要啟動測試環境的一個定時任務,但是伺服器在內網,連上vpn只能訪問內網的開發環境,無法訪問測試環境,於是進開發環境伺服器,ping測試環境的ip,發現是通的,於是想到通過開發環境伺服器向測試環境伺服器傳送請求,來達到啟動測試環境定時任務的方法,因為介面都是restful風格的,可以直接使用linux系統的curl來模擬Post請求。
解決:
- 進入開發環境伺服器,執行curl命令
curl http://ip:port/projectName
發現任何資料返回
- 想到應用是需要登入驗證,於是登入進入開發環境的應用系統觀察請求,發現cookie中應該是儲存有登入驗證所需的資料
- 能否curl請求時,攜帶這個cookie去操作我要呼叫的介面呢?答案是可以的
curl --cookie "key=value" -d "jobId=1&jobName=testJob" "http://ip:port/projectName/startJob"
- 引數解釋:
--cookie
表示請求時帶上cookie,"key=value"表示cookie的值,可以直接將上圖瀏覽器中的cookie資料複製拷貝
-d "jobId=1&jobName=testJob"
-d 表示使用post請求,後面雙引號中的資料就是介面所需要的的引數
"http://ip:port/projectName/startJob"
- 引數解釋:
- 至此,啟動完成