如何在基于Python的restapi中使用cURL“GET”进行网络编程?

2024-05-20 11:12:48 发布

您现在位置:Python中文网/ 问答频道 /正文

首先让我说我是cURLPython和{}的新手。在

我想做的是:

我有一个带有SDN控制器的虚拟网络(contail)。trail有一个基于Python的restapi,允许网络自动化开发和管理。在

为了访问这个RESTAPI,我尝试通过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

响应(无值):

^{pr2}$

一。在

实际上,我希望能够用Python运行上面的cURL脚本。我已经设置了python2.7、urllib2、libcurl和pycurl,只是无法找到正确的语法。在


Tags: 网络脚本restapi信息控制器curlfirefoxtrail
2条回答

如果可以安装requests库,则可以使用:

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

您可以使用以下内容设置请求头:

^{pr2}$

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

本质上,您希望使用urllib2来构建一个特殊的HTTP请求,或者有些人可能会认为第三方requests模块更好。HTTP请求并不是一件太复杂的事情,您首先可能需要阅读关于HTTP请求的一般信息(从Wikipedia开始,或者甚至看看最新发布的RFC 723*))。在curl调用中,您正在设置某些头参数(使用-H开关)。您可以使用request的custom headers函数轻松地复制这些文件,文档如下:http://docs.python-requests.org/en/latest/user/quickstart/#custom-headers。在

相关问题 更多 >