最近、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)