我已经在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服务器)?
感谢您的帮助:-) →
答案 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命令