curl 模拟请求

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

1. curl的用法

curl [options] [params] {网页url}
  1. options = -v 显示详细的请求信息
curl -v www.baidu.com
  1. 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的二进制

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 转载自:http://www.cnblogs.com/txw1958/archive/2013/01/19/286...
    php_bruce阅读 2,350评论 1 5
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,661评论 1 92
  • 一、什么是CURL? cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、...
    伊Summer阅读 1,334评论 0 4
  • 图片均为原创,严禁盗图。 胡里奥(Julio Iglesias)——(法国,F/HT,条纹,2006) 商用别名:...
    劉小江阅读 3,962评论 0 2