使用python-gitlab连接GitLab时遇SSLError问题求助
解决python-gitlab连接自签名证书GitLab的SSL验证错误
错误原因
你的GitLab服务器用的是自签名SSL证书,而python-gitlab依赖的requests库默认会严格校验SSL证书合法性,所以触发了证书链验证失败的错误。这个问题和访问令牌无关,不用再尝试更换令牌。
解决方案
方案1:临时禁用SSL验证(仅测试环境用)
初始化Gitlab对象时,添加ssl_verify=False参数跳过证书校验:
import gitlab def main(): # 添加ssl_verify=False禁用证书验证 gl = gitlab.Gitlab('https://gitlab.X.com/', 'the_access_code', ssl_verify=False) group = gl.groups.get(17996) # 后续创建分支的逻辑写在这里 if __name__ == "__main__": main()
方案2:导入自签名证书到信任列表(生产环境推荐)
正式环境不建议禁用验证,建议把GitLab的自签名证书加入信任列表:
- 先下载GitLab服务器的SSL证书:通过浏览器访问GitLab,点击地址栏的锁图标,导出证书为PEM格式文件
- 在代码里指定证书路径:
import gitlab def main(): # 替换成你实际的证书文件路径 gl = gitlab.Gitlab('https://gitlab.X.com/', 'the_access_code', ssl_verify='/path/to/gitlab_cert.pem') group = gl.groups.get(17996) # 后续创建分支的逻辑写在这里 if __name__ == "__main__": main()
另外注意:你原来的代码把group = gl.groups.get(17996)放在了全局作用域,建议移到main()函数内部,避免模块导入时就发起请求。
内容的提问来源于stack exchange,提问作者web1connoisseur
相关产品推荐
相关产品推荐

