用于python的hacker-one-api客户端

h1的Python项目详细描述


h1

https://img.shields.io/pypi/pyversions/h1.svghttps://img.shields.io/pypi/v/h1.svg

一个用于python的hackerone api客户端。这个api紧密地映射到hackerone提供的restapi。 他们的api文档是available here

许可证

麻省理工学院

安装

通过PIP安装:

pip install h1

对于开发,在项目根运行中:

virtualenv env
source env/bin/activate
make bootstrap

手动方法也应该有效:

python setup.py install

示例

初始化客户端

>>>fromh1.clientimportHackerOneClient>>>fromh1.modelsimportReport>>>c=HackerOneClient("YOUR-API-TOKEN-IDENTIFIER","YOUR-API-TOKEN")

获取最后一天创建的所有报告

HackerOneClient.find_resources()允许您指定要查找的资源(仅Report 现在支持)和一些筛选条件。唯一需要的过滤器是program,它 必须设置为目标Hackerone程序的名称。任何附加的过滤器都可以作为kwargs传递, 以及HackerOne’s filter documentation中的所有内容 应该得到支持。

例如,以下是我们如何获取过去24小时内创建的所有报告:

>>>importdatetimeasdt>>>day_ago=dt.datetime.now()-dt.timedelta(days=1)>>>listing=c.find_resources(Report,program=["test-program"],created_at__gt=day_ago)>>>len(listing)3>>>listing[0].titleu'This is a test report!'

在程序中获取所有已解决的报告

同样,如果我们过滤掉state,我们可以得到所有的resolved报告:

>>>resolved_listing=c.find_resources(Report,program=["test-program"],state=["resolved"])>>>resolved_listing[0].title

按id

获取特定报告

HackerOneClient.get_resource()允许您传递资源类型(同样,当前只是Report,) 以及要获取的ID:

>>>report=c.get_resource(Report,110306)>>>report.titleu'Test RCE SQLi'>>>report.stateu'not-applicable'

按用户统计报表计数

下面是一个使用客户机找出谁是您最多产的记者的示例:

>>>fromcollectionsimportCounter>>>reporter_count=Counter()>>>all_reports=c.find_resources(Report,program=["test-program"])>>>forreportinall_reports:...reporter_count[report.reporter]+=1...>>>print(reporter_count)Counter({<User-bestreporter>:21,<User-another_reporter>:12,<User-r3p0rt3r>:2,<User-newbie>:1})

运行测试

virtualenv env
source env/bin/activate
make bootstrap
make test

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

推荐PyPI第三方库


热门话题
java为扫描器的输入生成字符序列   hibernate中的java实体合并   如何使变量在Java文件中成为全局变量   java JVM崩溃“异常访问冲突”   向MediaMetadataRetriever中的setDataSource()发送Uri时发生java IllegalArgumentException   java没有节约协议?   用户界面java gui帮助actionlistener   java索引越界异常,即使大小小于索引?   在C++中使用java的困惑   在普通java编码中插入图像   JDBC上的java缓存数据   在Java中,在字符串的特定位置替换子字符串   java在运行elasticsearch集群时遇到Perm Gen空间问题   java Soap故障跟踪   java拆分器。固定长度(int)。拆分(字符串)   java获取jar内部包的路径