• Linux模拟HTTP请求-curl命令


    一个简单的GET请求
    使用curl命令可以轻松发起一个HTTP请求:

    # 使用GET凡是请求网址
    curl http://www.baidu.com
    

    可以使用-X选项指定请求方式
    携带参数的POST请求
    下面演示一个带头部和参数的POST请求

    curl -X POST 
      'http://uusama.com/?r=SnapchatApi%2FdoCurlQuery' 
      -H 'cache-control: no-cache' 
      -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' 
      -F name=uusama 
      -F like=fruit
    

    该请求方式相当于在页面提交一个表单,其中:

    -X POST 指定请求凡是为POST请求
    -H 指定请求头部
    -F 指定请求参数

    curl命令测试请求耗时
    在curl命令中,有以下几个变量反应请求时间:

    time_namelookup:DNS解析域名时间,把域名—>ipd的时间
    time_connect:TCP连接的时间,三次握手的时间
    time_appconnect:SSL|SSH等上层连接建立的时间
    time_pretransfer:从请求开始到到响应开始传输的时间
    time_redirect:从开始到最后一个请求事务的时间
    time_starttransfer:从请求开始到第一个字节将要传输的时间
    time_total:总时间
    示例:

    curl -o /dev/null -s -w time_namelookup:"	"%{time_namelookup}"
    "time_connect:"		"%{time_connect}"
    "time_appconnect:"	"%{time_appconnect}"
    "time_pretransfer:"	"%{time_pretransfer}"
    "time_starttransfer:"	"%{time_starttransfer}"
    "time_total:"		"%{time_total}"
    "time_redirect:"		"%{time_redirect}"
    "  http://www.baidu.com
    time_namelookup:	5.520
    time_connect:		5.543
    time_appconnect:	0.000
    time_pretransfer:	5.543
    time_starttransfer:	5.566
    time_total:		5.566
    time_redirect:		0.000
    

    其中各选项的含义如下:

    -w:将请求结果输入到文件而不是标准输出
    -o:请求完成后使用自定义格式输出
    -s:静默模式(不要输出任何东西)

    转:http://uusama.com/854.html

  • 相关阅读:
    register based 和 stack based虚拟机的区别
    Java in a Nutshell学习笔记
    Java中interface和abstract class的区别和联系
    Java中final的作用
    Android 源码下载
    Android Fragment 你应该知道的一切
    Android Fragment 真正的完全解析(下)
    Android Fragment 真正的完全解析(上)
    IntelliJ IDEA 使用总结
    Linux在目录中查找某个函数
  • 原文地址:https://www.cnblogs.com/caidingyu/p/12215651.html
Copyright © 2020-2023  润新知