python - 您将如何将 cURL "GET"与基于 Python 的 REST API 一起用于网络编程?

标签 python rest python-2.7 curl pycurl

首先让我说我是 cURLPythonREST 的新手。

这是我正在尝试做的事情:

我有一个带有 SDN Controller (Contrail) 的虚拟网络。 Contrail 有一个基于 Python 的 REST API 以实现网络自动化开发和管理。

要访问此 REST API,我一直在尝试通过 Firefox 扩展“RESTClient”临时使用 cURL 脚本,只是为了确保 cURL 调用独立于 Python.

cURL 脚本旨在查询 VN(虚拟网络)并打印出它们的信息,以便我可以输入在维护过程中需要删除的特定 VN 的 ID。

这是我目前正在使用的 cURL 脚本:

请求:

curl -X GET -H "Content-Type: application/json; charset=UTF-8" http://10.xx.xx.xx:1234/virtual-networks

响应(无值):

{"virtual-networks": [{"href": , "fq_name": , ["default-domain", "vn-blue"], "uuid"}

.

基本上,我希望能够在 Python 中运行上面的 cURL 脚本。我设置了 Python 2.7、urllib2、libcurl 和 pycurl,只是想不出正确的语法。

最佳答案

如果可以安装 requests图书馆,你可以使用:

response = requests.get('http://10.xx.xx.xx:1234/virtual-networks')
response.json

您可以设置请求的 header :

headers = {'content-type': 'application/json'}
response = requests.get('http://10.xx.xx.xx:1234/virtual-networks', headers=headers)

但是,您应该只为 POST、PUT、PATCH 请求定义 Content-type,并为 GET 使用 Accept

关于python - 您将如何将 cURL "GET"与基于 Python 的 REST API 一起用于网络编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24144527/

相关文章:

python - 使用 python urlib2.open 流式读取(逐 block 读取)只能得到部分结果

python - cur 执行重复参数

java - Binance Api 签名端点上的 Http Response 400

rest - URL:用分号代替问号

python正则表达式拆分函数问题

python-2.7 - 构建 core-image-minimal.bb 时如何包含 poky/meta/lib/oe/image.py ?

python - 在 tk 应用程序内触发关闭事件后,matplotlib 图不会继续程序流程

python - 如何处理utf-8编码的String和BeautifulSoup?

java - 用于网络错误处理的 Jersey API

python - 添加分隔符和删除逗号