Python – 尝试使用意外的mimetype解码JSON:

Python – 尝试使用意外的mimetype解码JSON:,第1张

概述我最近从请求交换到aiohttp,因为我无法在asyncio循环中使用它. 交换完美,一切顺利,除了一件事.我的控制台满满的 Attempt to decode JSON with unexpected mimetype: 和 Attempt to decode JSON with unexpected mimetype: txt/html; charset=utf-8 我的代码也有一个网站列表, 我最近从请求交换到aiohttp,因为我无法在asyncio循环中使用它.

交换完美,一切顺利,除了一件事.我的控制台满满的

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 headersasync 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时它们都会在错误中丢失

有没有办法解决这个错误或隐藏它?

解决方法 aiohttp正在尝试 do the right thing and warn you个不正确的Content-Type,这可能最糟糕地表明你根本没有获得JsON数据,而是一些不相关的东西,例如错误页面的HTML内容.

但是,在实践中,许多服务器配置错误,总是在其JsON响应中发送不正确的MIME类型,而JavaScript库显然并不关心.如果你知道你正在处理这样的服务器,你可以通过自己调用Json.loads来使警告静音:

import Json# ...async with self._session.get(uri,...) as resp:    data = await resp.read()hashrate = Json.loads(data)

在您尝试时指定Content-Type没有任何区别,因为它只会影响您的请求的Content-Type,而问题在于服务器响应的Content-Type,这是您无法控制的.

总结

以上是内存溢出为你收集整理的Python – 尝试使用意外的mimetype解码JSON:全部内容,希望文章能够帮你解决Python – 尝试使用意外的mimetype解码JSON:所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1195245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存