cURL (client URL) 是一个开源的命令行工具和库,用于在各种网络协议(如 HTTP、HTTPS、FTP 等)下进行数据传输和请求测试。
# 语法curl <url>
# 默认是用 GET 方式获取(请求网站一般是源码形式返回)curl gardwn.immwind.com
参数
-d --data
: 以 POST 方式传输数据-k, --insecure
:允许不使用证书连接 SSL(—insecure)-l, --silent
:静默模式-o, output
:输出内容到指定文件-o /dev/null
-s, --silent
: 不显示进度和错误信息-u, --user
: 账号密码 (相当于设置http头 Authorization)-u user:passwd
-u user
手动输入密码
-w, --write-out
:完成后输出指定数据- 输出状态码:
-w "%{http_code}\n
- 输出状态码:
-F, --form
: 文件-H, --header
: 自定义头信息-H 'Content-type: application/json'
-L, --location
: 跟随重定向-O, --remote-name
: 以原始文件名保存到本地-X, --request
:指定请求方式-X POST
--digest
:使用 Digest 方式验证
使用
请求
POST
curl 10.1.1.1 -d 'username=immwind&password=123456'# 以 JSON 格式请求curl 10.1.1.1 -d '{"username":"immwind", "password":"123456"}'
发送 form-data
[[Linux]] 必须在文件路径前添加 @ 符号
curl -X POST -F 'file=@/path/to/file' http://example.com/upload
响应
如果响应内容遇到中文乱码,或者希望能够对内容进行格式化,可以使用 [[jq]]:
curl 10.1.1.1 | jq
验证
digest
[[hikvision]] 可使用这个方式验证操控
# 以 digest 方式验证curl --digest -u <user>:<password> url -X PUT -d "<data>"