PYTHON : 如何让我的 request.get() 持续几秒钟?

PYTHON : How to make my request.get() last for a few second?

为了测试我的 API,我需要向我的查看器 url 发送一个请求,其中有一个跟踪服务可以告诉我 API 我花了多少时间在页面上(经典)。

我的测试中有这个小功能:

def does_it_track(response, **kwargs):
  # some unrelated actions
  r = requests.get('my_viewer_url')

这个请求工作正常,但它只持续不到一秒钟,它不允许我测试我的统计生成器,也不允许我的跟踪器精度。

我试过了:

有人知道 "not-to-complicated-way" 让我的请求在我的页面上等待吗?

我是 python 2.7

谢谢!

试试 VCR,它可能会帮助您解决问题。 事实上,您可以保存您的请求并查看发生了什么。

VCR

"how many time you've spent on the page" 与 HTTP request/response 循环无关,但与您的浏览器有关。

从服务器的角度来看,服务器收到一个请求,returns一个响应,然后作业就结束了,期间 - 从客户端的角度来看,一旦服务器返回响应,HTTP 事务就是结束了。这里甚至没有 "page" 的概念,只有 HTTP 请求和响应。

您的 "tracker"(显然)使用 javascript 从浏览器本身发送数据(很可能是每 X 秒发送一次请求,表明该页面仍在浏览器中显示)。 IOW,测试这个的唯一方法是使用将执行 javascript.

的无头浏览器