转载:curl 模拟请求

一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的。因此,我们需要学会模拟请求,以达到跟实际请求一样的效果。

1. curl的用法

curl [options] [params] {网页url}

1、options = -v 显示详细的请求信息

curl -v www.baidu.com

2、options = -X 指定请求方式

  GET请求:

curl -X GET  https://www.baidu.com/

  POST请求:

curl -X POST -d "data=123&key=456" http://localhost:8080/search

由于-d选项为使用POST方式向server发送数据,因此在使用-d的时候,可以省略-X POST。使用-d时,将使用Content-type:application/x-www-form-urlencoded方式发送数据。

curl -d "q=三生三世&type=note&page=1&order_by=default" https://www.jianshu.com/search/do?q=%E4%B8%89%E7%94%9F%E4%B8%89%E4%B8%96&type=note&page=1&order_by=default

如果想使用JSON形式post数据,可以使用-H指定头部类型

curl -H "Content-Type:application/json" -d '{"data":"123","key":"456"}' http://localhost:8080/search

如果想在请求的时候带上Cookie,可以这样

curl -H "Cookie:username=XXX" {URL}
  1. options = -H增加头部信息
curl -H "Cookie:username=XXX" {URL}
4 options = -c 存储cookie到文件
curl -d "name=zhangsan&password=123" http://localhost:8080/login -c ./cookie

使用用户名和密码登录系统,并将cookie信息存储在当前目录的cookie文件

  1. options = -b 携带cookie文件
curl http://localhost:8080/login -b ./cookie
  1. options = --cookie 直接指定cookie
curl --cookie "name=zhangsan" http://localhost:8080/login

7.options = -F/--form 表单提交操作
curl可以通过-F命令来以Content-Type:multipart/form-data的形式向server post数据,该命令允许提交二进制文件等。可以使用@前缀来制定提交的内容为一个文件,也可以使用<符号来提交文件中的内容

curl -F profile=@portrait.jpg https://example.com/upload.cgi

向服务器上传一个图片,图片的表单域名为profile,内容为protrait.jpg的二进制



作者:xurna
链接:https://www.jianshu.com/p/7965c56c5a2e
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文地址:https://www.cnblogs.com/yhlboke-1992/p/10250253.html