Pythonスクリプトでダウンロードしてアップロードした合計バイトを記録します。Python Requests/urllib - 帯域幅の使用量を監視する
total_downloaded_bytes = 0
def bandwidth_hook(r, *args, **kwargs):
global total_downloaded_bytes
total_downloaded_bytes += len(r.content)
req = requests.session()
req.hooks = {'response': bandwidth_hook}
上記のコードでは、HTTP圧縮(適切な場合)とヘッダーのサイズは考慮されていません。
アップロードされたバイトとダウンロードされたバイトの合計をrequests.sessionから数える方法はありますか?そうでない場合は、スクリプト全体のカウントはどうですか?
うわー、簡単な何かのために道複雑に見えます。答えをありがとう! – Elmo
@Elmo:responeオブジェクトはHTTP情報の高水準モデリングであり、基礎となるHTTPプロトコルバイトを完全に再構築するユースケースではありませんでした。 –
あなたはどこかに深くフックできませんか?実際のTCPストリームまたはどこか? – Elmo