rest - 查找 API 端点的方法

标签 rest url web-crawler api-design

API探索

尽管有几个问题涉及该主题,但我无法找到解决我试图理解的核心概念的问题

如果知道一个API的根结构,我们想象一下http://stackoverflow.com/api/service/并且我们可以从已知端点成功检索结果,例如 http://stackoverflow.com/api/service/answers/?id=39234 ,是否有任何方法(程序化或其他方式)来识别其他可用端点?

例子

例如,这可能是特定于源的,谷歌搜索根 url 已经揭示了源页面中标​​签中使用的方法。我对可能有效的类似广泛适用的技术感兴趣。

最佳答案

我认为一般来说回答你的问题并不容易,因为世界上有很多不同类型的 API。例如:

  • Simple Object Access Protocol通常通过 Web Services Description Language WSDL 描述 API所以你需要找到 wsdl
  • 对于 RESTful API,还有更多 API 描述语言 Overview of RESTful API Description Languages非常有名的是OpenAPI specification
  • 有时,您还有描述 AVM 的 FritzBox 路由器中的 API 的 XML 文档 - 可以从设备下载。
  • 几十年来,已经开发了更多的 API 描述,例如 CORBA

  • 因此,这始终取决于您对哪种 API 感兴趣并了解它们的描述语言,然后通过 google 或 Shodan 等搜索引擎查找描述。

    关于rest - 查找 API 端点的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53510945/

    相关文章:

    c# - 如何检查一个url是否有子字符串

    java - 如何将带有 '/' 符号的值作为获取参数传递给我的 Controller ?

    python - 为爬虫转换 url

    web-crawler - 防止爬网和翻录站点数据

    rest - Symfony序列化器-设置循环引用全局

    java - 无法连接到omnature Rest API 1.4

    java - 增加爬虫的线程数

    facebook - 想从Facebook爬取用户的兴趣数据

    api - 如何连接单独的微服务应用程序?

    c - 在 c restful webservice 中发布和获取 json