DevOps - curl

curl

支持多种协议命令行工具,发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)。

常用命令

  • 查看网页源码 curl <URL>

  • 保存网页 curl --output <file-name> <URL> 或者 curl -o <file-name> <URL>

  • 自动跳转 curl --location <URL> 或者 curl -L <URL>

  • HTTP认证 curl --user name:password <URL> 或者 curl -u name:password <URL>

  • 显示头信息(与网页源码 一起) curl --include <URL> 或者 curl -i <URL>

  • 只显示头信息 curl --head <URL> 或者 curl -I <URL>

  • 显示通信过程(包括端口连接和http request头信息) curl --verbose <URL> 或者 curl -v <URL>

  • 将详细通信过程保存到文件 curl --trace/--trace-ascii <file-name> <URL>

  • 跳过SSL检测(不会检查服务器的 SSL 证书是否正确) curl --insecure <URL> 或者 curl -k <URL>

一些用法

发送表单信息

  • GET方法(数据附在网址后面) curl <URL>/form.cgi?data=xxx
  • POST方法(使用--data参数,数据和网址分开) curl -X POST --data "data=xxx" <URL>/form.cgi
  • 通过--data-urlencode参数完成表单编码 curl -X POST--data-urlencode "date=hello curl" <URL>/form.cgi

HTTP动词

  • curl默认的HTTP动词是GET,使用-X参数可以支持其他动词。
  • curl -X POST <URL>
  • curl -X DELETE <URL>

User-Agent

  • 用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页。
  • curl --user-agent "<User-Agent>" <URL>
  • 使用--cookie参数让curl发送cookie
  • cookie的具体值可以从http response头信息的Set-Cookie字段中得到
  • curl --cookie "name=xxx" <URL>
  • 保存服务器返回的cookie到文件 curl -c cookies <URL>
  • 使用文件内容作为cookie信息,进行后续的请求 curl -b cookies <URL>

头信息

  • 使用--header参数可以在http request之中,自行增加一个头信息
  • curl --header "Content-Type:application/json" <URL>

参考信息

posted @ 2020-07-13 23:59  Anliven  阅读(173)  评论(0编辑  收藏  举报