Linux curl 命令get/post 详解
2019-11-14 本文已影响0人
MOIC_Qu
最近工作频繁使用curl命令,加深了对curl有关post json 格式,及json数据大的问题,以此记录。
curl命令
curl 是Linux综合传输命令,支持上传下载,在http层面功能强大。相信接触Linux的人对它都有自己的了解。
curl 格式
curl [options...] <url>
#more info
curl --help
curl 常规用法
1.可得到页面的html数据
2.感知服务器的网络状态(是否可以连接网络)
curl url
curl https://www.so.com/
重定向
将网页保存于指定文件 例page.html
curl https://www.so.com/ > page.html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 310k 0 310k 0 0 6300k 0 --:--:-- --:--:-- --:--:-- 6459k
vi page.html #即可查看页面数据
模拟浏览器
curl -A 'Mozilla/5.0 (Windows NT 6.1)' https://www.so.com/
POST请求
curl -X POST -d "username=aaa&password=bbb" https://192.168.0.1/login
增加Header
curl -H "Content-Type: text/html" -X POST -d "username=aaa&password=bbb" httops://192.168.0.1/login
传送数据为json格式
curl -H "Content-Type:application/json" -X POST -d "{"username":"aaa","password":"bbb"}" httops://192.168.0.1/login
当json数据过大时,因为有数据长度限制会出现curl失败,解决方案是将json写成文件形式传输
vi data.json
data.json内容如下:
{
"username": "aaa",
"password": "bbb"
}
执行curl
curl -H "Content-Type:application/json" -X POST -d @data.json httops://192.168.0.1/login