zoukankan      html  css  js  c++  java
  • wget/curl查看请求响应头信息

    wget / curl 是两个比较方便的测试http功能的命令行工具,大多数情况下,测试http功能主要是查看请求响应 头信息 ,而给这两个工具加上适当的命令行参数即可轻易做到,其实查man手册就能找到对应的参数选项,不过这里仍然mark一下。

    wget --debug
    Turn on debug output, meaning various information important to the developers of
    Wget if it does not work properly. Your system administrator may have chosen to
    compile Wget without debug support, in which case -d will not work. Please note
    that compiling with debug support is always safe—Wget compiled with the debug
    support will not print any debug info unless requested with -d.

    实例(可以看到,wget链接请求默认采用的是HTTP/1.0协议):

    [root@localhost ~]# wget 127.0.0.1 --debug
    DEBUG output created by Wget 1.12 on linux-gnu.
    
    --2012-05-26 12:32:08--  http://127.0.0.1/
    Connecting to 127.0.0.1:80... connected.
    Created socket 3.
    Releasing 0x09cdfb18 (new refcount 0).
    Deleting unused 0x09cdfb18.
    
    ---request begin---
    GET / HTTP/1.0
    User-Agent: Wget/1.12 (linux-gnu)
    Accept: */*
    Host: 127.0.0.1
    Connection: Keep-Alive
    
    ---request end---
    HTTP request sent, awaiting response...
    ---response begin---
    HTTP/1.1 200 OK
    Server: nginx/1.2.0
    Date: Sat, 26 May 2012 04:32:08 GMT
    Content-Type: text/html
    Content-Length: 186
    Last-Modified: Fri, 25 May 2012 02:41:59 GMT
    Connection: keep-alive
    Accept-Ranges: bytes
    
    ---response end---
    200 OK
    Registered socket 3 for persistent reuse.
    Length: 186 1
    Saving to: “index.html.42”
    
    100%[================================================================>] 186         --.-K/s   in 0s      
    
    2012-05-26 12:32:08 (4.72 MB/s) - “index.html.42” saved [186/186]
    
    [root@localhost ~]#

    如果wget不带--debug选项,则可以使用-S、--save-headers选项,不过此时只能查看响应头部信息:
    -S
    –server-response
    Print the headers sent by HTTP servers and responses sent by FTP servers.

    –save-headers
    Save the headers sent by the HTTP server to the file, preceding the actual contents,
    with an empty line as the separator.

    实例:

    [root@localhost ~]# wget -S 127.0.0.1
    --2012-05-26 12:38:32--  http://127.0.0.1/
    Connecting to 127.0.0.1:80... connected.
    HTTP request sent, awaiting response...
      HTTP/1.1 200 OK
      Server: nginx/1.2.0
      Date: Sat, 26 May 2012 04:38:32 GMT
      Content-Type: text/html
      Content-Length: 186
      Last-Modified: Fri, 25 May 2012 02:41:59 GMT
      Connection: keep-alive
      Accept-Ranges: bytes
    Length: 186 1
    Saving to: “index.html.44”
    
    100%[================================================================>] 186         --.-K/s   in 0s      
    
    2012-05-26 12:38:32 (4.52 MB/s) - “index.html.44” saved [186/186]
    
    [root@localhost ~]#

    利用curl的-v查看请求响应头部信息:
    -v/–verbose
    Makes the fetching more verbose/talkative. Mostly useful for debugging. A line
    starting with ’>’ means “header data” sent by curl, ’ < ’ means "header data"
    received by curl that is hidden in normal cases, and a line starting with ’*’
    means additional info provided by curl.

    Note that if you only want HTTP headers in the output, -i/--include might be the
    option you’re looking for.

    If you think this option still doesn’t give you enough details, consider using
    --trace or --trace-ascii instead.

    This option overrides previous uses of --trace-ascii or --trace.

    Use -s/--silent to make curl quiet.

    实例(可以看到,wget链接请求默认采用的是HTTP/1.1协议):

    [root@localhost aa]# curl -v 127.0.0.1
    * About to connect() to 127.0.0.1 port 80 (#0)
    *   Trying 127.0.0.1… connected
    * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.19.7 (i686-pc-linux-gnu) libcurl/7.19.7 NSS/3.12.7.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2
    > Host: 127.0.0.1
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < Server: nginx/1.2.0
    < Date: Sat, 26 May 2012 04:45:12 GMT
    < Content-Type: text/html
    < Content-Length: 186
    < Last-Modified: Fri, 25 May 2012 02:41:59 GMT
    < Connection: keep-alive
    < Accept-Ranges: bytes
    <
    <html>
    <head>
    <title>Welcome to nginx!</title>
    </head>
    <body bgcolor="white" text="black">
    <center><h1>Welcome to nginx!</h1></center>
    <center><h1>root:web</h1></center>
    </body>
    </html>
    * Connection #0 to host 127.0.0.1 left intact
    * Closing connection #0
    [root@localhost aa]#

    利用curl的-I选项仅查看响应头部信息:
    -I/--head
    (HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature the command HEAD
    which this uses to get nothing but the header of a document. When used on a FTP
    or FILE file, curl displays the file size and last modification time only.

    实例:

    [root@localhost aa]# curl -I 127.0.0.1
    HTTP/1.1 200 OK
    Server: nginx/1.2.0
    Date: Sat, 26 May 2012 04:43:12 GMT
    Content-Type: text/html
    Content-Length: 186
    Last-Modified: Fri, 25 May 2012 02:41:59 GMT
    Connection: keep-alive
    Accept-Ranges: bytes
    
    [root@localhost aa]#
  • 相关阅读:
    spring boot welcome-file-list
    spring boot web.xml listener
    Linkflow CDP
    连接数据,构建中台,Linkflow如何推动数据化浪潮 CDP
    客户全生命周期服务解决方案的提供商。
    自然语言处理的发展历史 发展方向 行业(法律)
    SpringBoot 设置 profiles 并在其他配置文件里面读取 pom.xml
    SpringBoot 配置文件无法解析占位符
    微服务 SaaS 低代码开发平台
    混沌工程与分布式系统
  • 原文地址:https://www.cnblogs.com/zjd2626/p/6707945.html
Copyright © 2011-2022 走看看