如何将cURL翻译为Python Web请求?

时间:2012-05-10 06:51:04

标签: python curl python-requests

很抱歉问这样的入门级问题。我需要将以下cURL翻译成python语言。我尝试使用requests函数,但失败了。所以有人能给我一些提示吗?选择请求是否正确?我应该考虑urllib吗? 谢谢!

cURL代码:

$ curl -k -u 'key:secret_key' -X POST https://api.picloud.com/file/new/ -d name=your_file_name

我的不良尝试:

r = requests.put('https://api.picloud.com/file/new/',auth=(api_key,api_secretkey),data={'name':'your_file_name'})

我收到了以下错误:

requests.exceptions.SSLError: [Errno 1] _ssl.c:503: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

我是否需要先对密钥和密钥进行编码?

2 个答案:

答案 0 :(得分:1)

在curl命令中,您已使用-k/--insecure选项禁用SSL证书验证。

如果您还要禁用SSL证书验证,可以将verify=False添加到您的requests.put调用中(请参阅SSL Cert Verification)。

但从安全角度来看,这肯定是个坏主意。您必须通过提供足够的根CA证书来验证对等证书。

答案 1 :(得分:0)

requests.get(url, auth=('user', 'password'), verify=False)