首先让我说我是 cURL
、Python
和 REST
的新手。
这是我正在尝试做的事情:
我有一个带有 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/