Python - 予期しない MIME タイプで JSON をデコードしようとしました: 質問する

Python - 予期しない MIME タイプで JSON をデコードしようとしました: 質問する

最近、asyncio ループで使用できなかったため、requests から aiohttp に切り替えました。

交換は完璧に進み、1つを除いてすべて順調です。私のコンソールは

Attempt to decode JSON with unexpected mimetype:

そして

Attempt to decode JSON with unexpected mimetype: txt/html; charset=utf-8

私のコードには、アクセスして JSON を取得するサイトのリストがあります。各サイトは異なりますが、ループは基本的にそれぞれ同じです。ここでは簡略化しました。

PoolName = "http://website.com"
endpoint = "/api/stats"
headers = "headers = {'content-type': 'text/html'}" #Ive tried "application/json" and no headers
async with aiohttp.get(url=PoolName+endpoint, headers=headers) as hashrate:
                hashrate = await hashrate.json()
endVariable = hashrate['GLRC']['HASH']

完璧に動作し、サイトに接続してJSONを取得し、endVariableを正しく設定します。しかし、何らかの理由で

Attempt to decode JSON with unexpected mimetype:

ループを通過するたびに出力されます。これは、サイトのJSONを取得するたびに、コンソールに統計情報が出力され、エラーで失われるため、面倒です。

このエラーを修正したり非表示にしたりする方法はありますか?

ベストアンサー1

予想されるコンテンツ タイプをjson()メソッドに渡します。

data = await resp.json(content_type='text/html')

または、チェックを完全に無効にします。

data = await resp.json(content_type=None)

おすすめ記事