Python将数据添加到post正文

Python将数据添加到post正文,python,rest,urllib2,Python,Rest,Urllib2,我正在努力获得一个RESTAPI帖子来与供应商API一起工作,希望有人能给我一个指针 其目的是将cli命令提供给post主体,并传递给返回输出的设备 该调用如下所示:(这适用于所有其他调用,但由于投递到正文而有所不同) 不管我怎么尝试,我都不能让它正常工作。以下是API文档的摘录,解释了如何使用此方法: 要处理这些API,请将CLI命令放入HTTP post缓冲区,然后将 URL中的方法名称、会话ID和其他参数 有谁能告诉我如何正确地做到这一点吗。我不是一个开发人员,我正在努力正确地学习这一点。

我正在努力获得一个RESTAPI帖子来与供应商API一起工作,希望有人能给我一个指针

其目的是将cli命令提供给post主体,并传递给返回输出的设备

该调用如下所示:(这适用于所有其他调用,但由于投递到正文而有所不同)

不管我怎么尝试,我都不能让它正常工作。以下是API文档的摘录,解释了如何使用此方法:

要处理这些API,请将CLI命令放入HTTP post缓冲区,然后将 URL中的方法名称、会话ID和其他参数

有谁能告诉我如何正确地做到这一点吗。我不是一个开发人员,我正在努力正确地学习这一点。例如,如果我想在帖子正文中发送命令“help”


谢谢你的指导

好吧,这太简单了,我想得太多了。我发现有时候我可以从一个更高的层面来看待一个问题,而不是一个真正的问题。无论如何,这就是它应该如何工作:

   def cli(self,method):
     self.url = ("http://" + str(self.host) + "/rest//?method=" +str(method)+ "&username=" +str(self.username)+ "&password=" +str(self.password)+ "&enable_password=test&session_id="+str(self.session_id))
     data="show ver"
     try:
      req = urllib2.Request(self.url)
      response = urllib2.urlopen(req,data)
      result = response.read()
      print result

     except urllib2.URLError, e:
      print e.reason

cli命令只是放在缓冲区中,没有进行编码。…

您最好使用请求库,它比urllib的级别更高,更易于使用。您的身份验证参数是否作为URL的一部分传递?我的意思是像url?sessionid=…&…我同意Tom的观点,使用请求,放弃urllib2Yes身份验证是url的一部分。。。请求看起来确实容易得多,所以让我试着让它以这种方式工作。如果我再次陷入困境,我会用解决方案发回。谢谢你的回复。好吧,即使有请求,我似乎也能用正确的方式来做这件事。因此,我需要将身份验证作为URL的一部分(URL?sessionid=…&…)输入,然后我只需要在帖子正文中放置一个命令“help”。我似乎无法理解,因为所有东西似乎都需要一个dictionary对象。任何人都有一个简单的例子来说明如何做到这一点。。。谢谢
   def cli(self,method):
     self.url = ("http://" + str(self.host) + "/rest//?method=" +str(method)+ "&username=" +str(self.username)+ "&password=" +str(self.password)+ "&enable_password=test&session_id="+str(self.session_id))
     data="show ver"
     try:
      req = urllib2.Request(self.url)
      response = urllib2.urlopen(req,data)
      result = response.read()
      print result

     except urllib2.URLError, e:
      print e.reason