curl是一个可以在命令行中直接发起请求的工具,基础用法如下:

  1. curl localhost:6767/1.html //返回url对应的页面内容

  1. curl localhost:6767/1.html -i //不仅返回页面内容,还返回了响应头信息

  1. $ curl localhost:6767/1.html -I //仅返回响应头信息

  1. curl school.igrow.cn -v //返回更详细的信息,包括服务器的IP地址、头信息以及内容

curl还可以发起各种类型的请求,比如GET、PUT、POST、DELETE等,对调试接口很方便

  1. curl -XGET www.baidu.com
  2. curl -XPOST www.baidu.com
  3. curl -XDELETE www.baidu.com
  4. curl -XPUT www.baidu.com

其他常用命令:

  1. -a/--append 上传文件时,附加到目标文件
  2. -A/--user-agent <string> 设置用户代理发送给服务器
  3. - anyauth 可以使用“任何”身份验证方法
  4. -b/--cookie <name=string/file> cookie字符串或文件读取位置
  5. - basic 使用HTTP基本验证
  6. -B/--use-ascii 使用ASCII /文本传输
  7. -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
  8. -C/--continue-at <offset> 断点续转
  9. -d/--data <data> HTTP POST方式传送数据
  10. --data-ascii <data> ascii的方式post数据
  11. --data-binary <data> 以二进制的方式post数据
  12. --negotiate 使用HTTP身份验证
  13. --digest 使用数字身份验证
  14. --disable-eprt 禁止使用EPRTLPRT
  15. --disable-epsv 禁止使用EPSV
  16. -D/--dump-header <file> header信息写入到该文件中
  17. --egd-file <file> 为随机数据(SSL)设置EGD socket路径
  18. --tcp-nodelay 使用TCP_NODELAY选项
  19. -e/--referer 来源网址
  20. -E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)
  21. --cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)
  22. --key <key> 私钥文件名 (SSL)
  23. --key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)
  24. --pass <pass> 私钥密码 (SSL)
  25. --engine <eng> 加密引擎使用 (SSL). "--engine list" for list
  26. --cacert <file> CA证书 (SSL)
  27. --capath <directory> CA目录 (made using c_rehash) to verify peer against (SSL)
  28. --ciphers <list> SSL密码
  29. --compressed 要求返回是压缩的形势 (using deflate or gzip)
  30. --connect-timeout <seconds> 设置最大请求时间
  31. --create-dirs 建立本地目录的目录层次结构
  32. --crlf 上传是把LF转变成CRLF
  33. -f/--fail 连接失败时不显示http错误
  34. --ftp-create-dirs 如果远程目录不存在,创建远程目录
  35. --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用
  36. --ftp-pasv 使用 PASV/EPSV 代替端口
  37. --ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址
  38. --ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输
  39. --ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输
  40. -F/--form <name=content> 模拟http表单提交数据
  41. -form-string <name=string> 模拟http表单提交数据
  42. -g/--globoff 禁用网址序列和范围使用{}和[]
  43. -G/--get get的方式来发送数据
  44. -h/--help 帮助
  45. -H/--header <line>自定义头信息传递给服务器
  46. --ignore-content-length 忽略的HTTP头信息的长度
  47. -i/--include 输出时包括protocol头信息
  48. -I/--head 只显示文档信息
  49. 从文件中读取-j/--junk-session-cookies忽略会话Cookie
  50. - 界面<interface>指定网络接口/地址使用
  51. - krb4 <级别>启用与指定的安全级别krb4
  52. -j/--junk-session-cookies 读取文件进忽略session cookie
  53. --interface <interface> 使用指定网络接口/地址
  54. --krb4 <level> 使用指定安全级别的krb4
  55. -k/--insecure 允许不使用证书到SSL站点
  56. -K/--config 指定的配置文件读取
  57. -l/--list-only 列出ftp目录下的文件名称
  58. --limit-rate <rate> 设置传输速度
  59. --local-port<NUM> 强制使用本地端口号
  60. -m/--max-time <seconds> 设置最大传输时间
  61. --max-redirs <num> 设置最大读取的目录数
  62. --max-filesize <bytes> 设置最大下载的文件总量
  63. -M/--manual 显示全手动
  64. -n/--netrc netrc文件中读取用户名和密码
  65. --netrc-optional 使用 .netrc 或者 URL来覆盖-n
  66. --ntlm 使用 HTTP NTLM 身份验证
  67. -N/--no-buffer 禁用缓冲输出
  68. -o/--output 把输出写到该文件中
  69. -O/--remote-name 把输出写到该文件中,保留远程文件的文件名
  70. -p/--proxytunnel 使用HTTP代理
  71. --proxy-anyauth 选择任一代理身份验证方法
  72. --proxy-basic 在代理上使用基本身份验证
  73. --proxy-digest 在代理上使用数字身份验证
  74. --proxy-ntlm 在代理上使用ntlm身份验证
  75. -P/--ftp-port <address> 使用端口地址,而不是使用PASV
  76. -Q/--quote <cmd>文件传输前,发送命令到服务器
  77. -r/--range <range>检索来自HTTP/1.1FTP服务器字节范围
  78. --range-file 读取(SSL)的随机文件
  79. -R/--remote-time 在本地生成文件时,保留远程文件时间
  80. --retry <num> 传输出现问题时,重试的次数
  81. --retry-delay <seconds> 传输出现问题时,设置重试间隔时间
  82. --retry-max-time <seconds> 传输出现问题时,设置最大重试时间
  83. -s/--silent静音模式。不输出任何东西
  84. -S/--show-error 显示错误
  85. --socks4 <host[:port]> socks4代理给定主机和端口
  86. --socks5 <host[:port]> socks5代理给定主机和端口
  87. --stderr <file>
  88. -t/--telnet-option <OPT=val> Telnet选项设置
  89. --trace <file> 对指定文件进行debug
  90. --trace-ascii <file> Like --跟踪但没有hex输出
  91. --trace-time 跟踪/详细输出时,添加时间戳
  92. -T/--upload-file <file> 上传文件
  93. --url <URL> Spet URL to work with
  94. -u/--user <user[:password]>设置服务器的用户和密码
  95. -U/--proxy-user <user[:password]>设置代理用户名和密码
  96. -v/--verbose
  97. -V/--version 显示版本信息
  98. -w/--write-out [format]什么输出完成后
  99. -x/--proxy <host[:port]>在给定的端口上使用HTTP代理
  100. -X/--request <command>指定什么命令
  101. -y/--speed-time 放弃限速所要的时间。默认为30
  102. -Y/--speed-limit 停止传输速度的限制,速度时间'秒
  103. -z/--time-cond 传送时间设置
  104. -0/--http1.0 使用HTTP 1.0
  105. -1/--tlsv1 使用TLSv1(SSL)
  106. -2/--sslv2 使用SSLv2的(SSL)
  107. -3/--sslv3 使用的SSLv3(SSL)
  108. --3p-quote like -Q for the source URL for 3rd party transfer
  109. --3p-url 使用url,进行第三方传送
  110. --3p-user 使用用户名和密码,进行第三方传送
  111. -4/--ipv4 使用IP4
  112. -6/--ipv6 使用IP6
  113. -#/--progress-bar 用进度条显示当前的传送状态

记录下curl的使用方法的更多相关文章

  1. step_by_step_记录deepin下curl安装过程

    记录 deepin 下 curl 安装过程 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz .tar.gz cd curl-/ ./conf ...

  2. uni-app开发经验分享七: 有关列表数据下拉加载方法的解析及记录

    在使用uni.request获取后台数据时,我们往往碰到一个问题,列表的懒加载及数据实时更新,这里记录下我制作这类功能的方法. 问题描述:后台返回数据,前端需要进行10个为一组来分页,先显示前10个, ...

  3. linux下curl get方法传递参数

    例如 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3 web形式下访问url地址,使用$_GET是可以获取到所有的参数 然而在linu ...

  4. 记录下UIButton的图文妙用和子控件的优先显示

    UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...

  5. 在Linux下禁用IPv6的方法小结

    在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...

  6. 记录下ECharts的一些功能

    用到ECharts记录下一些功能免得以后找文档找不到. 这个博客对ECharts讲解很全面 http://www.stepday.com/my.stepday/?echarts // 使用 requi ...

  7. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  8. 分布式环境下的id生成方法

    分布式环境下的id生成方法   前几天研究数据库分表分库的问题,其中有一个关键的地方就是生成唯一键的问题,假如数据表有1亿条数据,而且还在不断的增加,这里我们就需要考虑到分表分库,假设我们采用Hash ...

  9. 记录下Webapi签名机制

    首先,写这篇文章的原因是因为最近某一个项目中的接口被人为调用了,导致了数据库数据被串改.虽然是内部人无意点的,但还是引起了我的担忧,所有整理了下关于Webapi的相关签名机制. 一.我们在开发接口时, ...

随机推荐

  1. Java stream的常见用法

    不讲原理,只说用法. 1,集合遍历 public class StreamTest { public static void main(String[] args) { //1 遍历 List< ...

  2. UnityWebRequest http post json通信

    unity3d 提供了一个用于http通信的类叫:UnityWebRequest,它是www的替代者,所以建议使用这个类.我们这个例子以json格式与服务器通信.这里使用的json组件是:Newton ...

  3. 小米手机跨域问题,返回resphone:undefined,status 0

    小米手机跨域问题,返回resphone:undefined,status 0我小米note2的手机登录不上,返回resphone:undefined,status 0 我手机登录不了的问题解决了,后台 ...

  4. charls 抓包

    一.HTTPS原理: HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传 ...

  5. Liunx中三种网络模式配置及Xshell连接

    Liunx网络配置 NAT模式下的网络配置: 首先打开网络配置文件:vi   /etc/sysconfig/network-scripts/ifcfg-ens33 修改网卡信息,配置动态Ip过程中,只 ...

  6. uploadify上传图片的使用

    一:引用jquery.uploadify.js 二:代码 <body> <table> <tr> <td style="width: 15%; te ...

  7. SAP主数据文件版本号命名规范

    前提说明 最近在实施公司的SAP系统,需要对供应商,成品半成品原辅料,工艺路线,BOM等各种主数据进行收集,由于牵扯到多个部门进行合作整理数据,为了更方便进行文件版本的管理,特意学习下文件版本号命名规 ...

  8. WARN PageNotFound:208 - Request method 'POST' not supported

    在地址栏输入网址访问页面 ,用的是GET方法. 在用ajax接收后台数据,根据返回值进行提示或页面跳转时报:WARN PageNotFound:208 - Request method 'POST' ...

  9. ZJOI 2014 星系调查(推导)

    题意 https://loj.ac/problem/2201 思路 说白了就是一条路径上有 \(n\) 个二维坐标,求一条直线使得所有点到此直线的距离和最小. 设这条直线为 \(y=kx+b\) ,距 ...

  10. Facebook token更新

    How to refresh Facebook access token python代码: 可以用vs code来运行,依赖python2.*,如果使用python3.*可能会出现部分包不兼容 sh ...