2012-05-10 50 views
-1

對不起,要求這樣的入門級問題。我需要將以下cURL翻譯成python語言。我試圖使用requests函數,失敗了。那麼任何人都可以給我一些提示嗎?選擇請求是否正確?我應該考慮urllib嗎? 謝謝!如何將cURL轉換爲Python Web請求?

捲曲代碼:

$ 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 

我需要先編碼我的鑰匙和密鑰?

+1

Ypu需要使用pycurl來完全模仿行爲。 請參閱http://stackoverflow.com/questions/10470060/write-curl-in-python-code/10470126#10470126 –

+0

服務器上的https證書無效 –

+0

感謝您的評論! –

回答

1

在您的curl命令中,您已使用-k/--insecure選項來禁用SSL證書驗證。

如果您還想禁用SSL證書驗證,則可以將verify=False添加到requests.put調用中(請參閱SSL Cert Verification)。

但從安全的角度來看,這肯定是一個壞主意。您必須通過提供足夠的根CA證書來驗證對等證書,您必須必須

+0

感謝您的幫助。它在添加verify = False之後起作用。 –