curl是什么?c可以看作是client,url(Uniform Resource Locator)是统一资源定位符。curl可以为指定的url执行网络传输,在shell和脚本中它是如此便捷、强大、可靠。

curl支持n多协议(ftp、smtp等等),本文只讨论有关http基于命令行的相关话题,使用curl完全可以轻而易举地取代postman之流的图形界面工具。下面看下使用curl发起http请求。

1.发起http get请求

curl http://localhost:8080/demo
2.使用-v 详细显示请求响应相关信息
curl -v http://localhost:8080/demo
3.使用-G -d 发起get请求并发送数据
curl -G -d "hello" -v http://1ocalhost:8080/demo
4.使用-I 发起head请求
curl -I http://localhost:8080/demo
5.使用-i  响应包含头部信息
curl -i http://localhost:8080/demo
----
以上是基本的get请求示例,下面看下使用curl发起需要登录认证的请求。
6.使用-u 提供用户名密码
curl -u 'admin:admin' http://localhost:9002/actuator
7.curl自动识别用户名密码
curl http://admin:admin@localhost:9002/actuator
8.使用-u 仅输入用户名 会提示密码输入
curl -u 'admin' http://localhost:9002/actuator
9.使用-c 保存服务端响应的cookie
curl -u 'admin:admin' -c cookie.txt http://localhost:9002/actuator
10.使用-b 携带cookie信息发起http请求
curl -b cookie.txt http://localhost:9002/actuator
----
下面看下使用curl发送post请求。
11.使用-d 发送http post请求数据 -H指定head line头信息
curl -d "{'name':'star','age':20}" -H  "Content-type:application/json"  http://localhost:8080/demo/post
12.使用@引用文件 包含请求数据的文件
curl -d @post_data -H "Content-type:application/json" http://localhost:8080/demo/post
13.使用-F选项 post上传文件
curl -F 'fileName=@curl.png'http://localhost:8080/demo/file
14.使用--data-urlencode编码 提交数据
curl --data-urlencode 'name=码农小麦' -v http://localhost:8080/demo/urlencode
15.使用-d 提交请求数据
curl -d 'name=码农小麦' -d 'content=欢迎来撩' -v http://localhost:8080/demo/post
curl -d 'name=码农小麦&content=欢迎来撩' -v http://localhost:8080/demo/post
以上就是curl常见的命令行使用示例,完全可以应对日常的开发测试场景,以及脚本相关http请求功能实现。更多使用方法参见curl --help。


©著作权归作者所有:来自51CTO博客作者mb5fdb0a4002420的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Vue项目中Axios的简单封装
  2. 数组/JSON/AJAX/跨域
  3. PHP实现大文件断点下载
  4. jQuery 中常用的 DOM 操作以及使用 jQuery 完成跨域请求操作
  5. js 中数组常用方法介绍以及 JSON 对象的两个方法展示和跨域请求
  6. 使用 Docker 和 Nginx 打造高性能二维码服务(二)
  7. 聊聊幂等
  8. 用httping测试WEB页面响应时间
  9. Nginx通过CORS实现跨域

随机推荐

  1. Android 4.0后,自定义Title报错 You canno
  2. 调用android手机微博客户端发送微博
  3. Android 全屏设置
  4. Android TextView Marquee的应用实例详解
  5. Android keytool 生成证书MD5指纹
  6. Android 学习记录
  7. Android 应用指定浏览器开发实例
  8. android 圆环图形的实现
  9. Android视频方向为什么出现问题以及Andro
  10. Android 自定义标题栏(title栏)