zoukankan      html  css  js  c++  java
  • Linux

    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, 写的很详细, 但都是英文.
    尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出
  • 相关阅读:
    初识ABP vNext(8):ABP特征管理
    初识ABP vNext(7):vue身份认证管理&租户管理
    初识ABP vNext(6):vue+ABP实现国际化
    初识ABP vNext(5):ABP扩展实体
    初识ABP vNext(4):vue用户登录&菜单权限
    【Flutter 混合开发】嵌入原生View-iOS
    【Flutter 混合开发】嵌入原生View-Android
    使用Flutter完成10个商业项目后的经验教训
    谷歌发布Flutter Alpha:支持Windows
    【Flutter 实战】大量复杂数据持久化
  • 原文地址:https://www.cnblogs.com/xy14/p/11366565.html
Copyright © 2011-2022 走看看