一个易于使用的upnp tr64协议库
simpleTR64的Python项目详细描述
此库支持在本地网络中发现upnp设备,并允许在下列情况下对其执行操作 该设备支持任何。它还包含一种在路由器或其他网络上执行tr64协议操作的方便方法 支持tr64的设备。
>>>results=simpletr64.discover()>>>print(results[0])LOC:http://192.168.178.1:49000/tr64desc.xmlSRV:urn:dslforum-org:device:InternetGatewayDevice:1...>>>device=simpletr64.DeviceTR64(hostname=192.168.178.1,port=49000)...>>>device.execute("/upnp/control/hosts","urn:dslforum-org:service:Hosts:1","GetGenericHostEntry",NewIndex=1){'NewActive':'0','NewIPAddress':'192.168.0.23','NewMACAddress':'9C:20:7B:E7:FF:5F','NewInterfaceType':'Ethernet','NewHostName':'Apple-TV','NewAddressSource':'DHCP','NewLeaseTimeRemaining':'0'}
或者更简单,执行:
>>>device=System("192.168.178.1")>>>device.setupTR64Device("fritz.box")>>>print(device.getSystemInfo().manufactureName)"AVM"
在命令行中:
$ upnp_tools discover
功能
- 在本地网络中发现upnp设备
- upnp设备信息的收集
- 执行UPNP操作
- 仅对用户名/密码或密码进行身份验证
- http(s)代理支持
- Unicode
- 为以上所有操作提供shell命令“upnp_tools”
安装
要安装简单的tr64,只需:
$ pip install simpletr64
发布历史记录
1.0.6(2016-01-24)
- 修复未发出命令时upnp_工具中的错误
1.0.5(2016-01-15)
- 添加对DNLA设备的支持,这些设备宣布的某些设备定义略有不同
- 将所有工具/脚本移到一个“upnp_tools”脚本中,并将其移到bin,以便将其安装到exe路径中
1.0.4(2016-01-11)
- 添加fritz特定操作
- 由于Raphael Sobik,安装软件包时修复了一个错误
1.0.3(2016-01-08)
- 向任何tr64操作添加超时
- 在WiFi操作中添加了GetSpecificAssociatedDeviceInformation
- 添加了setenable以打开/关闭LAN/WAN/WiFi接口
- 添加了setssid和setchannel以相应地设置这些WiFi接口参数
- 添加了可用的软件更新
- 为WAN连接添加了requestconnection和terminateconnection
- 在新的Fritz类中添加了AVM Fritz Box产品特定功能
- 修复重新启动操作
- 使用始终为true的bool结果修复所有tr64操作
1.0.2(2016-01-06)
- 添加了为tr64操作请求命名空间的功能
- 为LAN、WAN和WiFi中的所有操作添加了接口ID
- 向devicetr64添加了一个工厂方法,该方法接受设备定义的url
- 改进了对任何内容的XML解析问题的错误处理
- 出于一致性原因,更改了GetGenericAssociatedDeviceInformation的声明
- 更改了所有WiFi操作,现在接口ID是可选的
- 将所有tr64操作类更改为devicetr64的子类
- 解决设备定义中相对URL的问题
1.0.1(2016-01-04)
- 添加了更好的错误报告
- 为任何网络交互添加了超时
- 增加了同时发现多个服务的可能性
- 已修复gethostdetailsbymacaddress()
1.0.0(2016-01-02)
- 出生!