Python aiohttp:client.get()返回html标记而不是文件

Python aiohttp:client.get()返回html标记而不是文件,python,aiohttp,tarfile,Python,Aiohttp,Tarfile,我正在尝试从image-net.org下载边界框文件(存储为gzip tar归档文件)。当我打印(resp.read())时,我得到的是HTMLb'\n,其中[wnid]指的是特定的wordnet标识字符串,而不是表示存档的字节流。这会导致错误tarfile.ReadError:无法成功打开文件。您对问题的具体内容和/或解决方法有何想法?代码在下面(images是一个pandas数据帧) 编辑:我现在知道这是一个用作重定向的文件。这会被认为是‘aiohttp’中的“bug”吗?这没问题 有些服务

我正在尝试从image-net.org下载边界框文件(存储为gzip tar归档文件)。当我打印(resp.read())时,我得到的是HTML
b'\n
,其中
[wnid]
指的是特定的wordnet标识字符串,而不是表示存档的字节流。这会导致错误
tarfile.ReadError:无法成功打开文件
。您对问题的具体内容和/或解决方法有何想法?代码在下面(images是一个pandas数据帧)

编辑:我现在知道这是一个用作重定向的文件。这会被认为是‘aiohttp’中的“bug”吗?

这没问题

有些服务将用户友好的网页重定向到zip文件。有时,它是使用HTTP状态(301或302,见下面的示例)或使用包含重定向的元标记的页面实现的,如示例中所示

HTTP/1.1 302 Found
Location: http://www.iana.org/domains/example/
aiohttp
可以自动处理第一种情况(默认情况下,当
allow\u redirects=True
时)。

但在第二种情况下,库检索简单的HTML,无法自动处理。

我遇到了同样的问题\n 当我尝试使用wget从与您相同的url下载时

但是如果你直接输入这个,它是有效的 www.image-net.org/downloads/bbox/bbox/n01729322.tar.gz


ps.n01729322是wnid

IMO元刷新不是HTTP的一部分,HTTP客户端库不需要支持它,但我承认我是HTTP客户端的新手。不管是哪种方式,由于重定向需要一个可预测的时间,我可以直接请求它们。@dezmond goff,我是否回答了你的问题,还是留下了其他问题?
HTTP/1.1 302 Found
Location: http://www.iana.org/domains/example/