Linux curl攜帶cookie測試接口


問題:

休息在家,被告知要啟動測試環境的一個定時任務,但是服務器在內網,連上vpn只能訪問內網的開發環境,無法訪問測試環境,於是進開發環境服務器,ping測試環境的ip,發現是通的,於是想到通過開發環境服務器向測試環境服務器發送請求,來達到啟動測試環境定時任務的方法,因為接口都是restful風格的,可以直接使用linux系統的curl來模擬Post請求。

解決:

  1. 進入開發環境服務器,執行curl命令
    curl http://ip:port/projectName
    發現任何數據返回
  2. 想到應用是需要登錄驗證,於是登錄進入開發環境的應用系統觀察請求,發現cookie中應該是保存有登錄驗證所需的數據
  3. 能否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" 就是我要請求的路徑
  4. 至此,啟動完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM