1. 概述

  1. 我接触过的很多服务端调试, 接口测试, 最终都落到了这个地方

  2. 简答介绍 curl 的使用

    1. 尽量循序渐进, 因为我也不太熟悉
  3. 大概会提到的命令

    1. curl
    2. curl -v
    3. curl -s
    4. curl -i
    5. curl -X
    6. curl -H
    7. curl -d

2. curl

  1. CommandLine Uniform Resource Locator
  2. 官网
    https://curl.haxx.se/
  3. 特性
    1. 这个就不多说
    2. 毕竟它在我手上, 也只是一个简单的 命令行 工具

3. 命令

  1. 帮助

    # 这个命令如果能运行, 说明 机器上确实有 curl
    # 具体内容不少, 建议在对 curl 有一定认知之后, 再去尝试阅读
    > curl --help
  2. 简单模式 与 繁琐模式

    1. 简单模式

      1. 命令

        # curl 访问 url 的时候, 建议带上协议
        # 如果不带的话, 默认是 http
        > curl 'http://www.baidu.com'
      2. 结果

        1. 返回

          # 勉强对齐了一下
          # 结果类似一个表格, 前两行是表头, 最后一行, 是结果
          % Total % Received % Xferd Average Speed Time Time Time Current
          Dload Upload Total Spent Left Speed
          100 2381 100 2381 0 0 50659 0 --:--:-- --:--:-- --:--:-- 50659
          # 后面是 baidu 的html, 就不列举了
        2. 不好意思, 这个统计信息, 留个坑吧

          1. 如果不想要这个统计信息, 可以使用 以下命令

            > curl -s 'http://www.baidu.com'
    2. 繁琐模式

      1. 命令

        > curl -v 'http://www.baidu.com'
      2. 结果

        1. 返回

           % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
          Dload Upload Total Spent Left Speed
          0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 61.135.169.121...
          * TCP_NODELAY set
          * Connected to www.baidu.com (61.135.169.121) port 80 (#0) # 这一部分, 是 请求
          > GET / HTTP/1.1
          > Host: www.baidu.com
          > User-Agent: curl/7.63.0
          > Accept: */*
          > # 这一部分, 是响应
          < HTTP/1.1 200 OK
          < Accept-Ranges: bytes
          < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
          < Connection: Keep-Alive
          < Content-Length: 2381
          < Content-Type: text/html
          < Date: Fri, 16 Aug 2019 12:48:41 GMT
          < Etag: "588604c4-94d"
          < Last-Modified: Mon, 23 Jan 2017 13:27:32 GMT
          < Pragma: no-cache
          < Server: bfe/1.0.8.18
          < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
          <
          { [2381 bytes data]
          100 2381 100 2381 0 0 74406 0 --:--:-- --:--:-- --:--:-- 74406 # 这一行, 是请求页面的内容, 略 # 这一行是啥, 我也不太清楚了
          * Connection #0 to host www.baidu.com left intact
        2. 如果你只关心 返回

          1. 则可以使用以下命令

            > curl -i 'http://www.baidu.com'
  3. 请求方式

    1. 命令

      > curl -vs -X GET 'http://www.baidu.com'
    2. 结果

      1. 和 繁琐模式 基本一致
      2. 默认的请求方法, 是 GET
      3. GET 可以换成其他的方法
  4. 请求头

    1. 命令

      > curl -is -X GET -H 'Content-Type: text/html' 'http://www.baidu.com'
  5. 请求体

    1. 命令

      > curl -vs -X GET -H 'Content-Type: text/html' -d '{"key": "value"}' 'http://www.baidu.com'

4. 最后

  1. 感觉讲得不太好

    1. 其实这些命令, 可以一笔带过

      1. 基本就是请求, 看request, 看response, 定请求方式, 设置 request header, 设置 request body
    2. 相关的东西, 想讲讲又不知道怎么开始

      1. http 相关
      2. curl 结果
        1. 那个统计
        2. 比如 verbose 模式下的连接过程
    3. 这玩意其实可以用的地方有很多

      1. 有机会, 会尝试做些其他的讲解.
  2. ref

    1. curl使用指南
    2. 官网上有本书, 叫做 everything-curl, 写的很详细, 但都是英文.

Linux - curl 基本使用的更多相关文章

  1. linux curl 命令详解,以及实例

    linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道翻 ...

  2. Linux curl使用简单介绍

    在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...

  3. linux curl用法详解

    linux ‍‍curl用法详解 ‍‍curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...

  4. Linux curl命令参数详解

    笔者出处:http://www.aiezu.com/system/linux/linux_curl_syntax.html linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支 ...

  5. Linux curl命令参数详解--转载

    linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态. 一.Linux ...

  6. LINUX curl GET 掉参数解决办法

    LINUX curl GET 掉参数解决方法 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3web形式下访问url地址,使用 $_GE ...

  7. Linux Curl常用命令使用【转】

    Curl是Linux下一个很强大的http命令行工具,其功能十分强大. 1)读取网页 $ curl linuxidc.com">http://www.linuxidc.com 2)保存 ...

  8. Linux curl命令使用代理、以及代理种类介绍(转)

    Linux curl命令使用代理.以及代理种类介绍   本文转自http://aiezu.com/article/linux_curl_proxy_http_socks.html,感谢作者 有时出于个 ...

  9. Linux curl 网络访问

    Linux curl 网络访问 参数详解 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -anyauth ...

  10. Linux Curl命令

    一.简介 linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具.   二.安装 wget http://c ...

随机推荐

  1. Qt Gui 第三章~第四章

    一.图片资源的调用 如上图是我图片存放的位置跟qrc的命名: 如下则是qrc对应的编写格式: <RCC> <qresource> <file>images/icon ...

  2. BZOJ2190 SDOI2008 仪仗队 gcd,欧拉函数

    题意:求从左下角能看到的元素个数 引理:对点(x,y),连线(0,0)-(x,y),元素个数为gcd(x,y)-1(中间元素) 即要求gcd(x,y)=1 求gcd(x,y)=1的个数 转化为2 \s ...

  3. PP: Shallow RNNs: a method for accurate time-series classification on tiny devices

    Problem: time series classification shallow RNNs: the first layer splits the input sequence and runs ...

  4. 记录 shell学习过程(5)continue break

    1.continue ;i<;i++)) do ];then continue fi echo $i done # ./continue.sh12346789 2.break ;i<;i+ ...

  5. Oracle 监听器 Listene

    Oracle 监听器 Listener 是一个重要的数据库服务器组件,在整个 Oracle 体系结构中,扮演着重要的作用.它负责管理 Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默 ...

  6. COMMUNITY DETECTION_python-louvain

    Python-louvain Package pip install python-louvain import community #first compute the best partition ...

  7. PP: Data-driven classification of residential energy consumption patterns by means of functional connectivity networks

    Purpose Implement a good user aggregation and classification. or to assess the interrelation pattern ...

  8. centos 7安装jdk8

    前提 执行安装的当前用户为root 下载安装包 现在oracle官网下载jdk需要登录才可以下载,故下载安装包比较麻烦.下载地址: http://www.oracle.com/technetwork/ ...

  9. Maven设置阿里云镜像

    <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> & ...

  10. SQLServer使用链接服务器远程查询

    --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogi ...