美文网首页程序猿的进阶屋
Linux curl 命令get/post 详解

Linux curl 命令get/post 详解

作者: MOIC_Qu | 来源:发表于2019-11-14 20:23 被阅读0次

    最近工作频繁使用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
    

    相关文章

      网友评论

        本文标题:Linux curl 命令get/post 详解

        本文链接:https://www.haomeiwen.com/subject/vjorictx.html