用于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 Weblogic 10.3.4 java。lang.NoSuchMethodError:javax/persistence/spi/PersistenceUnitInfo。getValidationMode()Ljavax/persistence/ValidationMode;   java如何在main()中访问私有静态实例变量   java JMockit无法模拟类的公共final字段   java是否可以返回特定控制器操作的输出(html)?   java如何返回正确类型的列表?   rest-OpenUI/Swagger-java-to-API   java组织。springframework。豆。工厂NoSuchBeanDefinitionException或加载ApplicationContext失败   java使用POST将参数从JSP发送到Servlet   java如何监听特定的按钮按下和主视图用户交互?   java如何让gradle在本地maven repo中覆盖库?   如何在Java中“合并”两个URI?   java如何制作一个方法来移动数组中的字符?   使用来自java的命令启动powershell窗口   java垃圾收集器和匿名类   java如何为CellTable(GWT 2.4)中的ImageResourceCell创建PanelPopup?