ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux - curl 基本使用

2019-08-16 22:01:42  阅读:187  来源: 互联网

标签:基本 baidu www http GET Linux curl com


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使用指南

      https://www.jianshu.com/p/fc0eb6c60816
    2. 官网上有本书, 叫做 everything-curl, 写的很详细, 但都是英文.

标签:基本,baidu,www,http,GET,Linux,curl,com
来源: https://www.cnblogs.com/xy14/p/11366565.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有