与sir代理交互的python api

pySIR的Python项目详细描述


#派西尔

与sir代理交互的python api。

#安装

安装执行:

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’}]

  • 参数-用于调用的参数。

    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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
datetime如何使用JodaTime在Java中设置时间属性   java固定算法的性能时间   java如何从JMenu中获取所选项以更改文本区域的文本颜色?   java配置单元UDF传递数组<string>作为参数   javaapachebeam和BigQuery   java与PrintWriter之间的差异。printf和PrintWriter。格式方法   继承如何处理按Java版本更改的导入,以及在多个版本上编译   xml java。lang.noClassDefFoundant生成错误   java如何使用包含映射的JSON发送POST请求?   java如何在任何应用程序的JAR文件中绑定MySql数据库?   Java脚本解释器   sslhttpclientjava。网SocketException:未实现未连接的socket   java如何为Android应用程序创建类似于Cron作业的东西   java JButton+radiobox+复选框   java内存管理将文件写入内存   java这是计算对象实例的有效方法吗?   用于死锁情况的java代码?   JavaSpring容器作为新实体插入,而不是存储在表中