Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将cURL命令转换为Python请求命令_Python_Django_Ssl_Curl_Python Requests - Fatal编程技术网

将cURL命令转换为Python请求命令

将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和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代码,并使用模块“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后找到的。不过还是要谢谢你:)