两个问题:
第一个是尝试使用python调用JSON API,为此我在代码中使用了“导入请求”。但是出现错误说明:没有名为“ requests”的模块
其次,当我尝试在cmd上安装pip时,出现一个错误,指出-无法获取URL https://pypi.org/simple/pip:
我的代码可能是错误的。请帮助解决此问题。
命令提示符下的错误:
C:\ Users \ MEIPE \ Desktop> python get-pip.py 收集点 连接被SSLError(SSLCertVerificationError(1,'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败)断开连接后重试(Retry(total = 4,connect = None,read = None,redirect = None,status = None))验证失败:无法获取本地发行者证书(_ssl.c:1056)'))':/ simple / pip /重试(重试(总计= 3,连接=无,读取=无,重定向=无,状态=无)) 通过'SSLError(SSLCertVerificationError(1,'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败)断开连接后,无法获取本地发行者证书(_ssl.c:1056)'))':/ simple / pip /重试(Retry(total = 2,在连接被'SSLError(SSLCertVerificationError(1,'[SSL:CERTIFICATE_VERIFY_FAILED])证书验证失败后,连接断开后,connect = None,read = None,redirect = None,状态= None))验证失败:无法获取本地发行者证书(_ssl.c :1056)'))':/ simple / pip /通过SSLError(SSLCertVerificationError(1,')断开连接后重试(Retry(total = 1,connect = None,read = None,redirect = None,status = None)) [SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c:1056)'))':/ simple / pip /重试(Retry(total = 0,connect = None,read = None,redirect =无,状态=无))被“ SSLError(SSLCertVerificationError(1,'[SSL:CERTIFICATE_VERIFY_FAILED]]证书验证失败”的连接断开后,验证失败:无法获取本地颁发者证书(_ss lc:1056)'))':/ simple / pip /无法获取URL https://pypi.org/simple/pip/:确认ssl证书时出现问题:HTTPSConnectionPool(host ='pypi.org',port = 443):最多重试超出网址:/ simple / pip /(由SSLError(SSLCertVerificationError (1,'[[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c:1056)')))-跳过找不到满足要求pip的版本(来自版本:)没有匹配的发行版本找到的pip无法获取URL https://pypi.org/simple/pip/:确认ssl证书时出现问题:HTTPSConnectionPool(host ='pypi.org',port = 443):url超出了最大重试次数:/ simple / pip /(导致通过SSLError(SSLCertVerificationError(1,'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c:1056)'))-跳过
代码:
import urllib.parse
import requests
main_api = 'http://nagiosdatagateway.vestas.net/esq/ITE1452552/logstash-?'
date = '2018.12.16'
url = main_api + urllib.parse.urlencode({'date':date})
json_date = requests.get(url).json()
print(json_data)
要调用动态更改的JSON API URL并将数据存储在SQL Server表中。这将帮助我安排要每天执行的python脚本,以获取JSON数据,然后从SQL表中获取月度报告。
答案 0 :(得分:2)
没有名为“ requests”的模块:
这只是意味着您尚未安装软件包“ requests”,可以通过安装pip并运行以下命令来解决该问题(就像您可能从其他问题中发现的那样):
pip install requests
PIP问题:
您从pip收到的错误表明SSL证书不正确。
如果您在使用自己的证书对SSL通信进行重新包装的代理后面,则可能会发生这种情况,那么您需要将该证书添加到请求所使用的证书中(请求使用certifi来知道要信任的证书,而不是操作系统证书)。
您可以通过将环境变量“ REQUESTS_CA_BUNDLE”设置为包含所需代理证书的捆绑软件来实现。
使pip正常工作的另一种方法是通过对每个主机使用标志“ --trusted-host”,告诉pip您信任主机,而不考虑不良证书,从而绕过安全性。
python get-pip.py --trusted-host=pypi.org --trusted-host=...
您可能必须重复此步骤,因为pip在第一个SSL验证错误时失败,因此每次在新的SSL验证错误时都将失败,直到全部添加
答案 1 :(得分:0)
每当我需要安装或更新某些东西时,都必须放置:
pip install --trusted-host=pypi.org --trusted-host=files.pythonhosted.org --user {name of whatever I'm installing}
我在这里找到了此解决方案:https://github.com/pypa/pip/issues/5363
答案 2 :(得分:0)
以下命令可以解决此问题:
python get-pip.py --trusted-host=files.pythonhosted.org --trusted-host=pypi.org
在Windows中以管理员身份运行
答案 3 :(得分:-2)
我下载了2.7
运行以下代码即可。尚未将其插入到SQL表中
import urllib, json
import re
url = "http://nagiosdatagateway.vestas.net/esq/ITE1452552/logstash-
2018.12.16/2/desc"
response = urllib.urlopen(url)
data = json.loads(response.read())
print (json.dumps(data,indent = 2))