我正在尝试测试我正在使用的 RESTful 接口(interface)(我正在使用这个接口(interface):codeigniter-restserver),我想使用 Python。
GET
似乎工作正常,但我在使用 POST
时遇到了问题。我不是在问这个图书馆的来龙去脉,而是我只是在尝试
了解如何使用 Python 测试 POST
ing。这是我得到的:
import httplib, urllib
params = urllib.urlencode({
'sentence': 'esta es una frase',
'translation': 'this is a sentence'
})
headers = {
"Content-type": "application/x-www-form-urlencoded",
"Accept": "text/plain"
}
conn = httplib.HTTPConnection("localhost:80")
conn.request("POST", "/myapp/phrase", params, headers)
response = conn.getresponse()
print response.status, response.reason
data = response.read()
conn.close()
这个脚本是否足以作为测试 POST
ing 的方法?我在 SO 上看到很多关于寻找 GUI 工具来执行此操作的人的请求(Firefox 插件,etc)
但对我来说,首先构建 RESTful 应用程序的重点是拥有一个 API,我可以编写脚本来快速修改数据库。 (用数据填充它
来自 JSON 文件,无论什么。)
这种基于 Python 的方法是否走在正确的轨道上?
谢谢
最佳答案
直接写入 httplib
没问题,但级别较低。
查看 Requests模块。这是一种非常简单的 pythonic 方法来制作和发送 http 请求。
import requests
requests.post(url, data={}, headers={}, files={}, cookies=None, auth=None)
关于python - 使用来自 Python 的 POST 测试 RESTful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6393122/