使用CURL添加请求时间戳

3
我正在参与一个小型的LINUX项目,使用CURL和远程网站计算请求延迟。我编写了一个shell脚本,自动向远程Apache Web服务器发送GET请求。但是在访问Apache的access.log时,我只找到CURL请求被Apache接收的时间。是否有可能将CURL请求的日期(时间戳)也发送到Apache服务器上呢? 谢谢。
1个回答

3
如果我理解正确,您想在客户端测量延迟,其中curl位于其中,您可以使用--write-out。 服务器端,除非有人定制了日志,否则每次访问服务器时都应在access_log中记录日期和时间。参考链接:如何使用cURL同时测量请求和响应时间?
::1 - - [25/Mar/2016:22:37:54 -0700] "GET / HTTP/1.1" 200 38

编辑:

好的,根据您的要求...不确定它会显示什么,因为请求只需要几分之一秒的时间,并且不同计算机上的时钟不一定相同。然而,要在curl请求中发送客户端日期,您可以捕获时间戳并使用-A选项将其作为自定义用户代理的一部分发送。

例如,在支持纳秒的Unix bash shell中:

curl -A `date +"[mycurltime:%Y-%m-%dT%H:%M:%S.%3N]"` "http://hostname/etc"

结果是...

your.ip.addy - - [26/Mar/2016:16:52:54 -0700] "GET /etc HTTP/1.1" 200 7502 "-" "[mycurltime:2016-03-26T16:52:54.437]"

实际上,我想以某种方式将请求日期发送到Apache,以便在access.log中找到类似以下内容的信息:::1 - - [25/Mar/2016:22:37:54 -0700] "GET / HTTP/1.1" 200 38 < CURL请求发送的日期>。 - Flzpls

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接