2012-05-06 81 views
0

可能重複:
CURL alternative in Python寫捲曲

我想編寫一個Python代碼段,返回一個JSON響應。隨着捲曲它的工作原理,並期待這樣的:

curl -H 'content-type: application/json' \ 
    -d '' http://example.com/postservice.get_notes 

我怎麼能寫代碼的python返回作爲curl命令做了JSON對象?

回答

2

完全模仿這個你需要幫助只要pycurl

import pycurl 
import StringIO  

buf = StringIO.StringIO() 

c = pycurl.Curl() 
c.setopt(c.URL, 'http://example.com/postservice.get_notes') 
c.setopt(c.WRITEFUNCTION, buf.write) 
c.setopt(c.HTTPHEADER, ['Accept-Charset: UTF-8']) 
c.setopt(c.POSTFIELDS, '') 
c.perform() 

json = buf.getvalue() 
buf.close() 

注意這裏content-type: application/json不是有效的請求頭。所以不需要。

+0

這是從Web服務接收數據的最佳解決方案嗎? – Mikael

+0

**最佳**是一個相對詞。所以沒有*最佳解決方案*除非您給出任何背景或標準。我提供的解決方案最符合您的命令行實施。兩者都使用相同的庫(捲曲)。所以他們會在後端運行相同的代碼。 –