首页 > 解决方案 > 使用 Python requests 库获取发送和接收数据的时间戳

问题描述

使用requestsPython 库,是否有可能获得接收和发送数据的确切时间戳,例如标头或有效负载数据?

例子:

import requests

url     = 'http://mytest.url'
headers = {'User-Agent': 'My Agent'}
payload = 'Hello World'

response = requests.post(url, payload, headers)

print response

输出(请注意,标头和有效负载数据可能具有不同的接收时间戳!):

2019/10/09 13:00.05.12345 >> POST http://mytest.url HTTP/1.1
2019/10/09 13:00.05.67890 >> User-Agent: My Agent
2019/10/09 13:00.06.12345 >> Hello World
2019/10/09 13:00.10.12345 << HTTP/1.1 200 OK
2019/10/09 13:00.11.12345 << Connection: Keep Alive
2019/10/09 13:00.12.12345 << Hello My Agent

问候,史蒂夫

标签: pythonpython-requests

解决方案


实际上有一个response.elapsed属性指示请求花费了多长时间。

我认为您可以同时获取提交日期时间和完成日期时间的最佳方法是:

from datetime import datetime
import requests

url     = 'http://mytest.url'
headers = {'User-Agent': 'My Agent'}
payload = 'Hello World'

now = datetime.now()
response = requests.post(url, payload, headers)

elapsed = now + response.elapsed

推荐阅读