Python 如何从url获取文件,然后像读取本地文件一样读取它?

Python 如何从url获取文件,然后像读取本地文件一样读取它?,python,python-3.x,byte,binary-data,urllib3,Python,Python 3.x,Byte,Binary Data,Urllib3,我有一个jpg图像,它存储在一个url中,我需要从该url访问和读取二进制/字节数据 我可以使用以下方法获取Python中的文件: import urllib3 http = urllib3.PoolManager() url = 'link to jpg' contents = http.request('GET' url) 仅从该请求中读取包含内容的数据。data不会提供正确的二进制文件,但如果我下载文件并在本地读取,则会得到正确的二进制文件。但我无法继续读取文件内容: with

我有一个jpg图像,它存储在一个url中,我需要从该url访问和读取二进制/字节数据

我可以使用以下方法获取Python中的文件:

import urllib3

http = urllib3.PoolManager()

url = 'link to jpg'

contents = http.request('GET' url)

仅从该请求中读取包含
内容的数据。data
不会提供正确的二进制文件,但如果我下载文件并在本地读取,则会得到正确的二进制文件。但我无法继续读取文件内容:

with open(contents, "rb") as image:
     f = image.read()
使用请求中的字节也不起作用:

with open(contents.data, "rb") as image:
     f = image.read()

如何将url中的jpg视为本地的,以便正确读取二进制文件?

本地读取文件时在f中获得的结果与
contents.data的结果完全相同

import urllib3

http = urllib3.PoolManager()

url = 'https://tinyjpg.com/images/social/website.jpg'

contents = http.request('GET', url)
with open('website.jpg', "rb") as image:
     f = image.read()

print(f==contents.data)
您可以从代码中的链接下载图像,然后运行此代码,您将收到输出
True
,这意味着从本地图像文件读取的数据与从网站读取的数据相同