【解决方案1】:

使用 chrome 的下载页面(ctrl+j 应该打开它,或者在下载文件时点击“显示全部”),我们可以看到我们最近的所有下载。您提供的链接只是开始下载的页面,而不是实际文件本身的位置。右键单击蓝色名称,我们可以将地址复制到正在下载的实际文件中。 在这种情况下,文件的实际链接是https://cfhcable.dl.sourceforge.net/project/esp32-s2-mini/ToolFlasher/NodeMCU-PyFlasher-3.0-x64.exe

然后我们可以发出 GET 请求来下载文件。使用 bash wget 对此进行测试可以正确下载文件。

wget https://versaweb.dl.sourceforge.net/project/esp32-s2-mini/ToolFlasher/NodeMCU-PyFlasher-3.0-x64.exe

当然,您也可以使用 python 请求来完成此操作。

import requests

response = requests.get(r"https://cfhcable.dl.sourceforge.net/project/esp32-s2-mini/ToolFlasher/NodeMCU-PyFlasher-3.0-x64.exe")

with open("NodeMCU-PyFlasher-3.0-x64.exe", "wb") as f:
    f.write(response.content)

请注意,我们使用的是wb(写入字节)模式,而不是默认的w(写入)。

【讨论】: