Python 请求 - 限制带宽使用

标签 python linux python-requests bandwidth

我正在使用 Python 脚本从 3G 连接的设备发布数据。

它使用 Requests 库。在监视每个 API 调用的字节时(请求 + 使用 this method 的响应),每次调用我得到 645 个字节。我的监控系统中的标准运动会触发大约。 20 个调用,所以每次移动我得到大约 13Kb 的带宽使用量。

然而,实际使用量要高得多:当通过 vnstat 或 psutil(或来自 sim 卡提供商的数据)进行监控时,标准移动约为 100kb 而不是 12-13kb (!)。当脚本关闭时 - 不使用任何数据;所以这与后台任务无关。此外,除了这些 API 请求之外,我的脚本不会以任何其他方式与网络交互……我不明白这种差异从何而来。

Python 请求调用中是否存在我遗漏的带宽使用情况?

最佳答案

如果 API 使用任何协议(protocol),它可能会消耗字节。 例如,通过 HTTP 的连接可能需要 'HEADER BYTES + CRLFCRLF' + BODY

在我看来,抓字节最靠谱的方法是使用pcap或者wireshark来抓网络。或者,如果您使用浏览器进行测试,大多数浏览器都有自己的程序员网络监控 View 。 (即 firefox ctrl + shirt + i)

如果您正在查看更低层中的字节,每个网络层(例如 OSI 7)都会添加一些 header ,有时会重新发送(如果是 tcp)数据以进行数据更正。

祝你好运

关于Python 请求 - 限制带宽使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43334362/

相关文章:

python - 使用 Python 将文件列表添加到 zip 文件中

linux - 检查字符串内的符号时出现错误?

linux - 如何获取linux awk的文件名并查找结果

python - 无法在输入框中捕获并输入一些动态生成的数字来填充一些结果

python - 发送图像(作为 numpy 数组) 'requests.post'

python - 使用 Bottle/Uwsgi/nginx 在第一个请求之前执行工作

python - 将秒转换为分秒

python - 为什么 mypy 认为缺少库导入?

android - 使用调试构建作为调试符号源

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