代码之家  ›  专栏  ›  技术社区  ›  mothbitten

Puppet forge API未返回预期的JSON

  •  1
  • mothbitten  · 技术社区  · 6 年前

    我正在尝试访问Puppet Forge API,以找到模块的最新版本,并将这些版本与当前Puppetfile中的版本进行比较。

    然而,作为访问API的完全新手,我所知道的与Forge文档假定我知道的之间存在差距,因此我一事无成。

    文档位于 https://forgeapi.puppet.com 告诉我:

    API是通过HTTPS通过forgeapi访问的。木偶拉布拉斯。com域。 所有数据都以JSON格式返回。

    但是,我找不到任何JSON格式的数据。

    我有一个用于连接服务器的简单Python脚本:

    import requests
    r=requests.get("https://forgeapi.puppet.com")
    print(r.status_code)
    print(r.headers['content-type'])
    

    内容类型为 text/html;charset=utf-8 ,而不是 application/json 这是我期待的。

    页面本身有我不知道如何访问的示例。

    如何从这里开始查看实际的JSON?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Alex Harvey    6 年前

    您需要在URL中指定端点。(我同意,文件不清楚。我不得不猜测 /v3 是必需的。)

    因此,这是可行的,例如:

    import requests
    r=requests.get("https://forgeapi.puppet.com/v3/modules") # Add /v3/modules here
    print(r.status_code)
    print(r.headers['content-type'])
    print(r.content) # JSON data is in here
    

    其他端点都记录在您提供的链接中。