跳转到主要内容

CLI访问RESTful服务

项目描述

一个通用的CLI,用于通过少量配置访问任何RESTful服务。想象一下,它是curl和正确CLI之间的某种东西。

功能

  • 使用简单的object.property[index]表示法在发送请求时替换JSON请求体的一部分

  • 使用上述描述的表示法仅打印JSON响应的一部分

  • 历史:以前发送的请求被存储,可以使用--last选项重新发送

  • 模板:在配置中存储特定URL的预设请求,并使用--template选项发送它们

  • 服务配置:在配置中存储常见的标头、URL前缀、特定服务的预设请求

它具有类似于curl的选项来获取和提供请求体。 -d, -H-d 与curl相同。 -X 被改为 -m。 目前,该工具使用 requests 发送HTTP请求。将来,它可能只是curl的包装器,将所有选项委托给curl。

示例用法

在以下配置中,位于~/.crest/raxid/config.py

tokens_request = {
    "auth": {
        "passwordCredentials":{
            "username":"REPLACE_USERNAME",
            "password":"REPLACE_PASSWORD"
        }
    }
}
config = {
    "name": "raxid",
    "description": "Rackspace Identity Service",
    "uriprefix": "https://identity.api.rackspacecloud.com/v2.0",
    "headers": {
        "accept": "application/json",
        "content-type": "application/json"
    },
    "resources": {
        "tokens/?$": {
            "templates": {"default": tokens_request},
            "aliases": {
                "username": "auth.passwordCredentials.username",
                "password": "auth.passwordCredentials.password",
            },
            "help": "Authenticate via username/password"
        }
    }
}

可以通过以下命令对 Rackspace 身份服务 进行身份验证并提取令牌

crest -s raxid tokens -m post -t -r username=myuname -r password=mypwd -o access.token.id

更多详情请查看 使用说明

安装

pip install crest
mkdir -p ~/.crest/generic_history  # for --history and --service to work

感谢

感谢 Rackspace 在侧项目中黑客文化,并允许我参与其中,以及拥有一个 优秀的 开源员工贡献政策

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

crest-0.0.1.tar.gz (7.6 kB 查看哈希值)

上传时间 源代码

支持者