将cURL命令转换为Python请求命令
我不熟悉cURL和Requests,我对如何在Python中将cURL请求转换为Requests命令有疑问 查看Apache Stratos文档以对服务器执行登录,使用:将cURL命令转换为Python请求命令,python,django,ssl,curl,python-requests,Python,Django,Ssl,Curl,Python Requests,我不熟悉cURL和Requests,我对如何在Python中将cURL请求转换为Requests命令有疑问 查看Apache Stratos文档以对服务器执行登录,使用: curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/session 它在终端上工作。现在,我想在我的Django网站上做同样的事情,将curl URL转换为python代码,并使用模块“
curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/session
它在终端上工作。现在,我想在我的Django网站上做同样的事情,将curl URL转换为python代码,并使用模块“requests”,我不知道如何传递用户和请愿书上的信息
我现在拥有的代码是:
headers = {'Content-Type':'application/json'}
data = {}
req = requests.post('https://localhost:9443/api/session', headers=headers, params=data)
但是我不知道如何传递用户和密码,所以我尝试了这个()
但我从服务器收到一个证书错误:
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 385, in send raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
那么,我是否正确发送了用户和密码?如何解决证书错误
感谢并问候您使用的本地主机几乎肯定没有有效的证书 出于测试目的,禁用ssl验证(它仍然是加密的,只是不验证证书)
您使用的本地主机几乎肯定没有有效的证书 出于测试目的,禁用ssl验证(它仍然是加密的,只是不验证证书) 您可以使用
verify
标志,并通过指定auth
来使用
from requests.auth import HTTPBasicAuth
req = requests.post('https://localhost:9443/api/session', headers=headers, auth=HTTPBasicAuth('admin', 'admin'), verify=False)
有关更多信息,请参阅。您可以使用验证
标志,并通过指定auth
来使用
from requests.auth import HTTPBasicAuth
req = requests.post('https://localhost:9443/api/session', headers=headers, auth=HTTPBasicAuth('admin', 'admin'), verify=False)
有关更多信息,请参阅。在@Sam解决方案之后,查看“我找到了解决方案”: Python重新请求代码是:
requests.get('https://localhost:9443/api/session', headers=headers, auth=HTTPBasicAuth('admin', 'admin'), verify=False)
“params”字段不需要它
然后:
u'{"Success":{ "sessionId": "547D78FD4966DDBE21AEFDAECE909DEC"}}'
希望它能帮助别人 在@Sam解决方案之后,通过查看,我找到了解决方案: Python重新请求代码是:
requests.get('https://localhost:9443/api/session', headers=headers, auth=HTTPBasicAuth('admin', 'admin'), verify=False)
“params”字段不需要它
然后:
u'{"Success":{ "sessionId": "547D78FD4966DDBE21AEFDAECE909DEC"}}'
希望它能帮助别人 你在本地主机上。使用SSL是否绝对重要?试试
http://localhost:9443/api/session
。Python请求实际上可以很顺利地处理SSL,但在localhost上似乎不太可能获得有效的SSL证书。是的,doc页面上的所有URL都使用Https,当您访问Firefox上的登录页面时,您需要添加一个安全异常以查看该页面。看起来您有两个答案可供选择:)您在localhost上。使用SSL是否绝对重要?试试http://localhost:9443/api/session
。Python请求处理SSL实际上非常顺利,但在localhost上似乎不太可能获得有效的SSL证书。是的,文档页面上的所有URL都使用Https,当您访问Firefox上的登录页面时,您需要添加一个安全异常以查看该页面。看起来您有两个答案可供选择:)verify=False
Nice。谢谢,我不知道这面旗子verify=False
Nice.谢谢,我不知道这个标志!是的,我是在尝试@Sam answer后发现的。不过还是要谢谢你:)是的,我是在尝试@Sam answer后找到的。不过还是要谢谢你:)