urllib3 HTTPResponse.read()返回空字节

问题描述 投票:1回答:3

我正在尝试阅读网站的内容,但得到一个空字节对象b''

import urllib3
from urllib3 import PoolManager
urllib3.disable_warnings()
https = PoolManager()

r = https.request('GET', 'https://minemen.club/leaderboards/practice/')

print(r.status)
print(r.read())

当我在网络浏览器中打开URL时,我看到该网站,并且r.status为200(成功)。

为什么r.read()不返回内容?

python urllib3
3个回答
2
投票

什么使您认为这是错误的?尝试以下操作,您将获得更多输出:

print(r.data)

检查HTTPResponse以了解如何使用所获得的r对象。


0
投票

尝试使用requests库。

website_content = requests.get(url)
print(website_content.content)  # website page content

0
投票

[C0应该是这样工作的。

例如,URLlib3的贡献者之一解释了urllib3.response.HTTPResponse.read

这是关于文档。默认情况下,您无法使用urllib3.response.HTTPResponse.read,因为默认情况下,所有内容都被消耗到here中。如果要read()要工作,您需要将通话中的data设置为read()。想尝试一下吗?

所以您可以简单地使用preload_content=True

© www.soinside.com 2019 - 2024. All rights reserved.