Linux模拟HTTP请求-curl命令

Posted 学无止境

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Linux模拟HTTP请求-curl命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令模拟Http的get或post请求

curl 命令模拟 HTTP GET/POST 请求

Linux curl 命令模拟 POST/GET 请求

Linux curl 命令模拟 POST/GET 请求

Linux命令发送Http GET/POST请求

Linux命令发送Http GET/POST请求