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. Python-Django学习笔记(三)-Model模型的编写以及Oracle数据库的配置

    Django使用的 MTV 设计模式(Models.Templates.Views) 因此本节将围绕这三部分并按照这个顺序来创建第一个页面 模型层models.py 模型是数据唯一而且准确的信息来源. ...

  2. 为data中的某一个对象添加一个属性不起作用——this.$set的正确使用

    this.$set(obj, key, value) 我们在项目开发的过程中,经常会遇到这种情况:为data中的某一个对象添加一个属性 <template> <div class=& ...

  3. TCL namespace

    命名空间可从Tcl 8.0版开始使用.引入命名空间之前,有一个全局范围.现在有了命名空间,我们可以分区全局范围. 创建命名空间: 结果:33 嵌套命名空间: 结果: test1 test2 导入命名空 ...

  4. thinkphp中如何用路由调用前台html界面

    先上图片看看基本的文件位置 1.首先在application\route.php中定义路由 <?php use think\Route; Route::get("home", ...

  5. react 和 vue 的优缺点总结

    React推广了Virtual DOM并创造了新的语法——JSX,JSX允许开发者在JavaScript中书写HTML Vue使用模板系统而不是JSX,但能对现有应用的升级更加容易,这是因为模板用的就 ...

  6. Windows启动项更改

    笔者遇到的问题: 之前新装了Windows10系统,但没注意到的是竟然是deepin和Windows10双系统,一是用不到deepin系统,二是占用C盘空间太多,就重新装回了Windows7系统,但重 ...

  7. [SHOI2016] 黑暗前的幻想乡 - 矩阵树定理,容斥

    #include <bits/stdc++.h> using namespace std; #define int long long const int N = 20; const in ...

  8. php自带的密码哈希

    常用的MD5.SHA1.SHA256哈希算法,是面向快速.高效进行哈希处理而设计的.随着技术进步和计算机硬件的提升,如今强大的计算机很容易破解这种算法.也就是说,不要用MD5.SHA1.SHA256这 ...

  9. slice 实现原理

    package main /* #include <stdlib.h> */ import "C" import ( "unsafe" " ...

  10. vue插槽(slot)的模板与JSX写法

    vue官网API: 插槽:https://cn.vuejs.org/v2/guide/components-slots.html JSX:https://cn.vuejs.org/v2/guide/r ...