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