为什么Python中的“requests”无法下载该url图像,但浏览器可以?

Lon*_*guy 0 python browser http python-requests

我有以下网址,它实际上是一个图像。

https://cache.mrporter.com/images/products/908290/908290_mrp_in_l.jpg
Run Code Online (Sandbox Code Playgroud)

我使用下面的Python代码来下载它

import numpy as np
from PIL import Image
import requests
response = requests.get("https://cache.mrporter.com/images/products/908290/908290_mrp_in_l.jpg")
Run Code Online (Sandbox Code Playgroud)

我看到 requests.get 只是挂起,如果我使用 5 秒的超时,我会收到 TimeOut 异常。

但是,当我将网址粘贴到浏览器中时,我立即看到它打开了。

我真的被困在这里并试图了解问题所在。

Sud*_*lla 5

看起来该网站需要一个User-Agent. 您可以尝试使用以下方法

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
response = requests.get("https://cache.mrporter.com/images/products/908290/908290_mrp_in_l.jpg", headers=headers)
Run Code Online (Sandbox Code Playgroud)

这返回<Response [200]>