Python - 如何将命令发送到Web服务器

时间:2015-10-24 15:53:22

标签: python

我已经在IT支持工作多年,但一直对编码很感兴趣,所以我开始用Python进行培训。我正在开展一个小编码项目,在那里我向用户询问一些参数(为相机设置静态IP,如果凸轮有麦克风,他们想要相机命名等等)然后需要推送这些设置到IP摄像机,但我不知道如何将这些命令“发送”到摄像机的IP。

例如,这是我从浏览器运行的命令,它将在IP 192.168.0.9x到800x450的相机上设置分辨率:

http://192.168.0.9x/axis-cgi/param.cgi?action=update&Image.I0.Appearance.Resolution=800x450

如何让Python将这些类型的命令发送到Web服务器(IP cam本质上是一个Web服务器)?

感谢您的帮助:-) →

4 个答案:

答案 0 :(得分:6)

Python-requests是一个易于使用的HTTP客户端。

要执行您的请求,请从:

开始
import requests

params = { "Image.I0.Appearance.Resolution": "800x450",
           "action": "update"
          }

response = requests.get("http://192.168.0.9x/axis-cgi/param.cgi", params=params)

答案 1 :(得分:3)

我认为urllib2可以解决您的问题:)

import urllib2
content = urllib2.urlopen(some_url)

答案 2 :(得分:2)

看看requests。这是第三方库,但它比内置的urllib2更好。

import requests
r = requests.get(some_url)
  

请求的制定考虑了一些PEP 20习语。

     

美丽胜过丑陋。

     

明确比隐含更好。

     

简单比复杂更好。

     

复杂比复杂更好。

     

可读性计数。

答案 3 :(得分:0)

您可以在python中使用webbrowser库直接将命令发送到网页并控制相机。我用这个用于我的FOSCAM FI8918W

对于你的查询,它可能是:

导入webbrowser

webbrowser.open(http://192.168.0.9x/axis-cgi/param.cgi?action=update&Image.I0.Appearance.Resolution=800x450

你可以查看来自FOSCAM cgi参考指南的cgi命令