2013-01-31 47 views
2

一个简单的API我有一个简单的API端点:访问与Python

http://example.de/create.json 

我需要发送通过POST如下:

-text

-url

- 用户名

此任务的curl命令如下所示:

curl --data-urlencode "text=Beispieltext" -d "url=http://google.de" -d "username=User1" http://example.de/create.json 

我想在我的代码中实现这个。我想将数据提交给API,并使用API​​的答案。 其实我不知道从哪里开始。我读了很多关于Pycurl,urllib2和subprocess的书,但现在我什么都不懂了:D

你会怎么做? 我需要帮助,我不知道从哪里开始!

+0

[要求](http://docs.python-requests.org/en/latest/)是我最喜欢的卷曲状的通话 –

+0

@AlexL库我会试一试。谢谢! –

回答

1

很简单。应该是这样的:

import pycurl 
import StringIO 

c = pycurl.Curl() 
c.setopt(c.URL, 'http://example.de/create.json') 
output = StringIO.StringIO() 
c.setopt(c.WRITEFUNCTION, output.write) 
c.setopt(c.POSTFIELDS, 'your post data') 
c.perform() 

结果在output.getvalue()中。完成后不要忘记output.close()。

+0

如何定义我的发布数据? 例如c.setopt(c.POSTFIELDS,'text ='+ mytext)不起作用! 如何在其中使用变量? –

+0

不存在“不起作用”的错误 – stark

+0

尝试urllib.urlencode(“text = Beispieltext”) – stark

0

的libcurl Examples(看到那些从右侧科拉姆)