git unable to get local issuer certificate (_ssl.c:1007)>

原因1:Git无法验证SSL证书

这个错误通常是由于Git无法验证SSL证书导致的。您可以尝试以下方法解决此问题:

  1. 确认您的计算机上是否安装了正确的SSL证书。如果没有,请下载并安装它们。

  2. 您可以使用以下命令在Mac上安装SSL证书:

    brew install openssl

如果您已经安装了OpenSSL,可以使用以下命令将证书添加到Git的信任存储中:

git config --global http.sslVerify true
  1. 将证书添加到Git的信任存储中。可以使用以下命令将证书添加到全局信任存储中:

    git config --global http.sslVerify true

  2. 如果上述方法无效,则可以尝试禁用SSL验证。但是请注意,这可能会导致安全风险。使用以下命令禁用SSL验证:

    git config --global http.sslVerify false

原因2:直接用urllib导致本地验证失败

python解决urllib发送请求报错:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]...>_呆萌的代Ma的博客-CSDN博客

完整报错是:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:xxx)>

解决方法

在使用urllib.request.Request(url)前,添加代码:

python 复制代码
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

问题解析

这是因为访问的网站是https://,需要SSL认证,而直接用urllib会导致本地验证失败(具体原因未查明),所以使用ssl._create_unverified_context关闭认证

报错重现

在执行到request = urllib.request.Request(url, data)时报错,取消掉这行向上两行的注释,即可解决问题

python 复制代码
import json
import urllib


def baidu_search():
    url = "https://www.baidu.com/s?"
    data = {"wd": "啊哈"}
    data = json.dumps(data).encode('GBK')
    # import ssl
    # ssl._create_default_https_context = ssl._create_unverified_context  # 如果不添加这两行,下一行报错
    request = urllib.request.Request(url, data)
    response = urllib.request.urlopen(request)
    content = response.read()
    print(str(content))


if __name__ == '__main__':
    baidu_search()
相关推荐
bryant_meng2 小时前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩
KevinRay_2 小时前
Python超能力:高级技巧让你的代码飞起来
网络·人工智能·python·lambda表达式·列表推导式·python高级技巧
Captain823Jack3 小时前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
资源补给站3 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机
Captain823Jack3 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
刘大辉在路上3 小时前
突发!!!GitLab停止为中国大陆、港澳地区提供服务,60天内需迁移账号否则将被删除
git·后端·gitlab·版本管理·源代码管理
PieroPc4 小时前
Python 自动化 打开网站 填表登陆 例子
运维·python·自动化
VinciYan4 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
测试老哥5 小时前
外包干了两年,技术退步明显。。。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
終不似少年遊*5 小时前
美国加州房价数据分析01
人工智能·python·机器学习·数据挖掘·数据分析·回归算法