获取外部可用的端点列表 API url

Get list of endpoints available at a external API url

我一直在对此进行大量研究,但对我来说并没有太多进展。我想知道是否有可能以编程方式连接到外部(不是我的)restful API url 并以某种方式获得此 API 提供的所有可能路线。

例如,我可以访问 https://www.someapiservice.com/someapi/。此 API 具有以下路线:

https://www.someapiservice.com/someapi/someroute/somesubroute https://www.someapiservice.com/someapi/anotherroute/anothersubroute

是否有某种方法可以通过编程方式获取包含以下内容的列表:

本质上是抓取端点的 API?

简而言之,没有...有点...

您要求的是世界上所有 API 实施,或者至少在某些网站上 与您的爬虫合作 并为您提供所需的东西。

除非你

  • 双方都有控制权,因此可以为客户端提供一些发现机制
  • 提前知道对方提供了什么作为发现机制
  • 可以依赖某种 API 注册表(目录)
  • 或知道目标站点上 API 的某种约定

那你就倒霉了。

顺便说一句,这些发现机制之一可能是 Swashbuckle 的 Swagger UI,它用于记录 APIs(基于您问题的标签)。如果您的 third-party 站点提供了它,也许您可​​以以某种方式利用它。