2015-04-01 47 views
-1
curl https://api.smartsheet.com/1.1/sheets -H "Authorization: Bearer 26lhbngfsybdayabz6afrc6dcd" -H "Content-Type: application/json" -X POST -d @test.json 
+0

我對編碼非常陌生,所以我甚至不知道如何開始:\ – 2015-04-01 12:00:41

+1

從這裏開始:https://duckduckgo.com/?q=pycurl+tutorial – 2015-04-01 12:07:42

+0

任何語法建議? – 2015-04-01 12:42:41

回答

2

如果您是新手編碼,那麼請不要使用pycurl它通常被認爲已過時。請使用requests,它可以與pip install requests一起安裝。

這裏是如何與requests做等價的:

import requests 

with open('test.json') as data: 
    headers = {'Authorization': 'Bearer 26lhbngfsybdayabz6afrc6dcd' 
       'Content-Type' : 'application/json'} 
    r = requests.post('https://api.smartsheet.com/1.1/sheets', headers=headers, data=data) 
print r.json 

如果必須使用pycurl我建議你開始reading here。一般會由這個(未經測試)代碼來完成:

import pycurl 

with open('test.json') as json: 
    data = json.read() 

    c = pycurl.Curl() 
    c.setopt(pycurl.URL, 'https://api.smartsheet.com/1.1/sheets') 
    c.setopt(pycurl.POST, 1) 
    c.setopt(pycurl.POSTFIELDS, data) 
    c.setopt(pycurl.HTTPHEADER, ['Authorization: Bearer 26lhbngfsybdayabz6afrc6dcd', 
           'Content-Type: application/json']) 
    c.perform() 

這表明requests是更爲優雅。

+0

實際上它並沒有真正過時。 pycurl也快得多:https://stackoverflow.com/a/32899936/1515686 – 2017-12-10 22:34:44

+0

@ Tom-OliverHeidel:這很有趣。通常,obselete_我的意思是說,有些專家可能會使用它,但在一般情況下,對於初學者來說,'request'要好得多(而且更快),以至於我不會推薦'pycurl',除非有明顯的需要使用它。 – mhawke 2017-12-10 22:57:29

+0

是的,你是絕對正確的。我其實更喜歡pycurl的請求。另外,pycurl可能需要一些更好的文檔來說實話。 – 2017-12-11 03:46:51