linux中利用curl获得http请求的响应时间

本文介绍了一个使用curl命令进行HTTP请求性能测试的脚本。通过循环请求特定URL并记录连接时间、开始传输时间和总时间,该脚本可用于评估服务器响应速度及稳定性。
curl -o j_out -s www.baidu.com -w "%{time_total}\n"


循环请求

#!/bin/sh

rm time_cost
i=0
times=100
while [ $i -le $times ]
do
        #echo "call time "`date +%Y%m%d_%H_%M_%S` >> time_cost 
        curl -o j_out -s -w "%{time_connect}:%{time_starttransfer}:%{time_total}" "http://10.13.16.164:9090/wapad?callback=Easouunion.loadedCallback&container=easouad&publisher=5133_133&math=1389953731025&style=2&cid=es_5133_133_2" >> time_cost
        let "i++"
        echo '' >> time_cost
        sleep 2
done


计时器                            描述
time_connect              建立到服务器的 TCP 连接所用的时间
time_starttransfer    在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
time_total                     完成请求所用的时间

<think> 我们已知用户需求:在Linux系统中使用curl发起GET请求到网站接口的方法。 根据提供的引用,我们知道引用[1]、[2]、[3]都提到了curl的基本GET请求方法,引用[4]给出了一个具体的例子。 因此,我们可以结合这些引用,给用户提供详细的方法。 步骤: 1. 基本GET请求:使用curl后直接跟URL即可。 2. 如果需要添加请求头,可以使用-H选项。 3. 如果需要在URL中添加查询参数,可以直接写在URL中,或者使用-G选项配合-d选项来添加参数(这样参数会以查询字符串的形式附加到URL上)。 4. 如果需要保存响应,可以使用-o或-O选项。 根据引用[4]的例子:`curl -H "X-Forwarded-For: 1.2.3.4" http://www.baidu.com/api/contentapi/getWebsiteConfig?configKey=phone&type=` 我们可以看出,这是一个带有自定义请求头(X-Forwarded-For)的GET请求,并且URL中包含了查询参数(configKey=phone和type=)。 所以,我们可以这样回答: </think> ### Linux中使用curl发起GET请求到网站接口的方法 在Linux系统中,使用`curl`命令发起GET请求到网站接口的操作步骤如下: #### 1. **基本GET请求** 直接使用`curl`后接目标URL即可发送最简单的GET请求: ```bash curl https://api.example.com/data ``` 此命令会向指定接口发送GET请求,并将响应内容输出到终端[^1][^2]。 #### 2. **带查询参数的请求** 在URL中添加查询参数有两种方式: - **直接拼接URL**: ```bash curl "https://api.example.com/data?key1=value1&key2=value2" ``` 注意使用双引号包裹URL,避免特殊字符被解析[^4]。 - **使用`-G`与`-d`组合**: ```bash curl -G https://api.example.com/data -d "key1=value1" -d "key2=value2" ``` `-G`强制使用GET方法,`-d`指定参数(自动编码特殊字符)[^2]。 #### 3. **添加请求头** 通过`-H`选项添加自定义HTTP头(如认证信息): ```bash curl -H "Authorization: Bearer token123" -H "Content-Type: application/json" https://api.example.com/user ``` 此例添加了认证头和内容类型头[^1][^3]。 #### 4. **处理响应** - **保存响应到文件**: ```bash curl -o output.json https://api.example.com/data ``` - **仅显示响应头**: ```bash curl -I https://api.example.com/status ``` - **调试模式**(显示详细通信过程): ```bash curl -v https://api.example.com/debug ``` `-v`参数可查看请求/响应头及握手过程[^3]。 #### 5. **HTTPS请求** 直接使用HTTPS协议URL,curl默认验证证书: ```bash curl https://secure-api.example.com ``` 若需忽略证书验证(测试环境): ```bash curl -k https://secure-api.example.com ``` 但生产环境建议保留验证[^2]。 #### 示例场景 请求天气API并保存结果: ```bash curl -G "https://api.weatherapi.com/v1/current.json" \ -d "key=YOUR_API_KEY" \ -d "q=Beijing" \ -o weather.json ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值