curl 命令模拟 POST/GET 请求
curl 语法:curl [options…]
使用curl发送POST请求: (推荐)
参数直接在header里面,如需将输出指定到文件可以通过重定向进行操作。
# curl -H "Content-Type:application/json" -X POST -d 'json data' URL
# curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' https://blogs.jinchenghe.top/login
其他 HTTP 方法通过 -X 参数指定即可
# curl -X DELETE url
# curl -X PUT --data 'key=value' url
下载脚本并执行
# curl -sSL http://to.sh | bash
查看 Header
使用 -i 或者 –include 参数查看返回 Header
# curl -i google.com
使用 -i 参数,页面相应头 header 和页面相应 body 一起返回,如果只想查看 header,可以使用 -I 或者 –head
断点续传
通过使用-C选项可对大文件使用断点续传功能
文件上传
# curl -T file.txt url
HTTPS 支持
# curl -E mycert.pem https://url
添加请求头
# curl -H ‘Content-Type:application/json' -H 'Authorization: bearer valid_token' URL
Cookie
-c参数保存请求返回 Cookie,本地存储文件
# curl -u ftpuser:ftppassword -T file.txt ftp://ftp.server
# curl -u ftpuser:ftppassword -T "{file1, file2}" ftp://ftp.server
Curl总结:
curl的常见用法也就是下载文件,查看header,还有在命令行下发送POST或GET请求。
外延 wget
wget 支持 HTTP,HTTPS 和 FTP 协议,可以使用 HTTP 代理。
# wget https://www.google.com
外延 axel
Linux下高速下载工具,支持多线程下载、断点续传。
使用 10 个线程同时下载文件。
# axel -n 10 url
外延 mwget外延 mwget
多线程版本 wget,同时使用 5 个线程下载
# mwget -n 5 url