2017-02-16 26 views
1

我使用pycurl編寫代碼,並請LIBRAIRIE, 的目的是爲了查詢一個REST API, 以「請求」的結果是確定的, 但不能與「pycurl」, 都共享相同的輸入數據,但似乎像api這樣的pycurl出現了問題,不會得到正文數據。使用pycurl和請求得到不同的結果 - 任何想法是我的pycurl的錯誤?

你能幫我找到我在pycurl代碼中的錯誤嗎?

requests_test.py: 

import requests 

data = {"account": {"email": "[email protected]"}} 
response = requests.post('https://myapi/api/v1/admin/create', json=data) 
print response.content 

> python requests_test.py 
{"error":"Admin already existing"} 

pycurl_test.py 

import pycurl, json 

c = pycurl.Curl() 
c.setopt(pycurl.URL, 'https://myapi/api/v1/admin/create') 
data = json.dumps({"account": {"email": "[email protected]"}}) 
c.setopt(pycurl.POST, 1) 
c.setopt(pycurl.POSTFIELDS, data) 
c.perform() 
c.close() 
print data 

> python pycurl_test.py 
{"error":"account is missing, account[email] is missing} 

我相信這件事情這麼大又笨,我沒有看到。

回答

0

我找到解決辦法,在pycurl ,你必須補充一點:

c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json'])