程序猿的进阶屋

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
上一篇下一篇

猜你喜欢

热点阅读