【问题标题】:Add request timestamp with CURL使用 CURL 添加请求时间戳
【发布时间】:2016-07-13 22:04:25
【问题描述】:

我正在一个小型 LINUX 项目中工作,以计算 CURL 和远程网站的请求延迟。

所以我制作了一个 shell 脚本来自动向远程 Apache Webserver 发送 GET 请求。在访问 Apache 的 access.log 时,我只发现 apache 收到来自 CURL 的请求的时间。

是否也可以将 CURL 请求的日期发送到 apache 服务器? (时间戳)

谢谢

【问题讨论】:

    标签: linux apache curl logging get


    【解决方案1】:

    如果我理解并且您想测量 curl 所在的客户端延迟,您可以使用 --write-out How do I measure request and response times at once using cURL?

    服务器端,除非有人自定义日志,否则每次对服务器的访问都应在 access_log 中记录日期和时间

    ::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
    猜你喜欢
    • 2022-01-22
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多