aio-libs / aio-libs/aiohttp

Retrieving raw response (status + headers + body) data from ClientResponse?

オープン
#3,877 コメント 8 件 リアクション 1 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Python
スター
16.5k
フォーク
2.4k
平均マージ
20時間 10分
マージ済み PR(30日)
221

説明

I was wondering if there is a way to effectively get the entire raw response from a `ClientResponse` class. Take the following code for example:

```python
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
status = response.status
header = response.raw_headers
resp = await response.read()
```

What I am trying to effectively do is get the _complete_ and _raw_ return from the server -- the status, header, and the response in one. I have checked out the docs, and I see there is no mention for raw complete data, only portions; status, header, and body.

Now, I did think of simply reformatting `status` and `header`, and then adding them to the `resp`, but this seems a bit backward as I would be doing something that `aiohttp` certainly does the opposite of in the background -- which is why I am coming here asking for guidance. Something like so would be a lifesaver:

```python
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
resp = await response.read_raw() # or response.raw() or response.all(), any variation really.
```

Thank you in advance, and any guidance would be appreciated!

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。