我正在尝试使用urllib.request库从 url 下载图像

import urllib.request

urllib.request.urlretrieve("myurl.com", "loca,python,python-3.x,urllib"/>
	














首页 > 解决方案 > urllib.error.URLError 的 Windows 10 解决方案是什么:

我正在尝试使用urllib.request库从 url 下载图像

import urllib.request

urllib.request.urlretrieve("myurl.com", "loca

问题描述

我正在尝试使用urllib.request库从 url 下载图像

import urllib.request

urllib.request.urlretrieve("myurl.com", "local-filename.jpg")

它正在抛出一个

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)>

尝试下载图像时出错。

我在 SO 上搜索了错误,一堆答案都是针对 MacOS

https://stackoverflow.com/a/53310545/11110509

https://stackoverflow.com/a/58525755/11110509

告诉你进入 Python 文件夹并下载

"Install Certificates.command".

但在 Windows 上没有这样的文件。

另一种解决方案是使用

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

但有些评论说这是一种不好的做法。

第一个答案中的另一个解决方案是告诉我执行命令

pip install --upgrade certifi

但这不起作用,我仍然遇到同样的错误。

Windows 10 的解决方案是什么?当前的python版本:3.8.9


如何跳过脚本的特定行数

我创建了一个名为 call.sh 的 bash 脚本

#!/bin/bash
termux-tts-speak whom doyou want to call
var="$(termux-speech-to-text)"
if [ "$var" = "Pappu" ]
then
termux-tts-speak calling to pappu
termux-telephony-call xxxxxxxxxx

elif [ "$var" = "call me" ]
then
 termux-tts-speak calling to you
termux-telephony-call xxxxxxxxxx

else
termux-tts-speak sorry I can not understand say it again
fi

我使用命令运行脚本

$bash call.sh 

但是,如果我想在不修改 bash 文件的情况下执行跳过前 3 行的脚本。请问我该怎么做?

标签: pythonpython-3.xurllib

解决方案


推荐阅读