python 提示 ssl 错误 urlopen error [SSL: CERTIFICATE_VERIFY_FAILED 的解决办法
作者:小鱼的互联网观察 发布时间:December 13, 2023 分类:互联网观察
错误提示,
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
解决办法:
# install_certifi.py## sample script to install or update a set of default Root Certificates# for the ssl module. Uses the certificates provided by the certifi package:# https://pypi.python.org/pypi/certifiimport osimport os.pathimport sslimport statimport subprocessimport sysSTAT_0o775 = ( stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH )def main(): openssl_dir, openssl_cafile = os.path.split( ssl.get_default_verify_paths().openssl_cafile) print(" -- pip install --upgrade certifi") subprocess.check_call([sys.executable, "-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"]) import certifi # change working directory to the default SSL directory os.chdir(openssl_dir) relpath_to_certifi_cafile = os.path.relpath(certifi.where()) print(" -- removing any existing file or link") try: os.remove(openssl_cafile) except FileNotFoundError: pass print(" -- creating symlink to certifi certificate bundle") os.symlink(relpath_to_certifi_cafile, openssl_cafile) print(" -- setting permissions") os.chmod(openssl_cafile, STAT_0o775) print(" -- update complete")if __name__ == '__main__': main()
相关文章
- 无相关文章
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
- 原文网址:https://www.tianmeng.org/archives/512/
- 最后修改时间:2023年12月13日 17:12:37
当前暂无评论 »