Python API用于与SIR代理交互
项目描述
# pySIR
Python API用于与SIR代理交互。
# 安装
要安装,请执行
pip install pySIR
# 文档
pySIR在Python中实现了SIR API。它只是与调用、获取数据或捕获错误的具体细节一对一映射,以避免处理这些细节。它只是消费API的一种方便方式。它不带来额外的功能。
您可以使用此库如下
from pySIR.pySIR import pySIR sir = pySIR(‘http://localhost:8080’)
result = sir.get_top_prefixes(start_time=”2015-07-25T14:00”, end_time=”2015-07-25T15:00”, limit_prefixes=10, net_masks=”24”, exclude_net_masks=1)
在每次调用后,您将得到一个 `Call` 对象,该对象具有三个属性
meta - 一些有关调用的信息。
result.meta {u’length’: 10, u’request_time’: 4.2649, u’error’: False}
result - 调用的实际结果。
result.result [{u’as_dst’: 43650, u’sum_bytes’: 96527904, u’key’: u’194.132.196.0/22’}, {u’as_dst’: 1299, u’sum_bytes’: 50852480, u’key’: u’0.0.0.0/0’}, {u’as_dst’: 2856, u’sum_bytes’: 42289633, u’key’: u’86.128.0.0/10’}, {u’as_dst’: 43650, u’sum_bytes’: 27442840, u’key’: u’194.132.197.72/29’}, {u’as_dst’: 3320, u’sum_bytes’: 23312608, u’key’: u’79.192.0.0/10’}, {u’as_dst’: 2856, u’sum_bytes’: 22229909, u’key’: u’86.128.0.0/11’}, {u’as_dst’: 2856, u’sum_bytes’: 19337668, u’key’: u’86.128.0.0/12’}, {u’as_dst’: 3320, u’sum_bytes’: 19048046, u’key’: u’84.128.0.0/10’}, {u’as_dst’: 2856, u’sum_bytes’: 18816388, u’key’: u’109.144.0.0/12’}, {u’as_dst’: 3320, u’sum_bytes’: 18002994, u’key’: u’91.0.0.0/10’}]
parameters - 用于调用的参数。
result.parameters {u’exclude_net_masks’: u’1’, u’limit_prefixes’: 10, u’start_time’: u’2015-07-25T14:00’, u’end_time’: u’2015-07-25T15:00’, u’net_masks’: u’24’}
## 支持的方法
如前所述,这是一个原始API的1:1映射。您可以在官方文档中检查支持的方法
http://sdn-internet-router-sir.readthedocs.org/en/latest/api/api_v1.0.html
我建议您快速检查文件 `pySIR/pySIR.py` 中的代码,以快速查看支持的方法名称。代码和名称都很直接,所以代码应该很容易阅读。
## 传递变量
当向方法传递变量时,只需使用原始 API 中相同的名称发送它们 命名。例如
sir.get_top_prefixes(start_time="2015-07-13T14:00", end_time="2015-07-13T15:00", limit_prefixes=10, net_masks="24", exclude_net_masks=1) sir.put_variables_by_category_and_name(development, whatever, content='231', extra_vars='{"asd": "qwe", "zxc":"poi"}')
当您想要发送数据时(例如存储或更新变量),也是如此。例如
sir.post_variables(name='this_is_a_variable', content='231', category='development', extra_vars='{"asd": "qwe", "zxc":"poi"}') sir.put_variables_by_category_and_name(development, whatever, content='231', extra_vars='')
## SSL 验证
默认情况下,pySIR 将检查 SSL 证书,如果 SSL 证书无效,则引发异常。但是,您可以覆盖此行为,并通过如下初始化 pySIR 忽略证书
sir = pySIR('https://localhost:8080', verify_ssl=False)
项目详情
pySIR-0.46.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 207691694d518262fa32e4c30b43a6dd9ebadcaf773940d0b7e32fe9af8dac98 |
|
MD5 | 9f0379c803e2ce2db1398b01afb17bef |
|
BLAKE2b-256 | d7199b2b92888228cd7630e92c612b74ed0a2083bcc0ea735214ffc4dd5df1a6 |