HTTPie: a CLI, cURL-like tool for humans

HTTPie

github

HTTPie 是用 Python 编写,用到了 Requests 和 Pygments 这些出色的库。

主要特性:

  • 直观的语法
  • 格式化和色彩化的终端输出
  • 内置 JSON 支持
  • 支持上传表单和文件
  • HTTPS、代理和认证
  • 任意请求数据
  • 自定义头部
  • 持久性会话
  • 类 Wget 下载
  • 支持 Python 2.6, 2.7 和 3.x
  • 支持 Linux, Mac OS X 和 Windows
  • 插件
  • 文档
  • 测试覆盖率

安装

Mac
OS X

$ brew install httpie

Linux

# Debian-based distributions such as Ubuntu:
$ apt-get install httpie

# RPM-based distributions:
$ yum install httpie

通过pip:

# Make sure we have an up-to-date version of pip and setuptools:
$ pip install --upgrade pip setuptools

$ pip install --upgrade httpie

使用

hello world

$ http httpie.org

http --help

参考手册

https://pypi.python.org/pypi/httpie

例子

  • 自定义HTTP方法,HTTP header和JSON数据
$ http PUT example.org X-API-Token:123 name=John
  • 提交表单
$ http -f POST example.org hello=World
  • 打印发送请求使用的输出项
$ http -v example.org
  • 利用使用Github API发布评论和验证一个问题
$ http -a USERNAME POST https://api.github.com/repos/jakubroztocil/httpie/issues/83/comments body='HTTPie is awesome!'
  • 使用重定向输入上传一个文件
$ http example.org < file.json
  • 下载一个文件并通过重定向输出将其保存
$ http example.org/file > file

  • wget风格下载文件
$ http --download example.org/file
  • 使用session保持请求相同的主机之间的通信
$ http --session=logged-in -a username:password httpbin.org/get API-Key:123

$ http --session=logged-in httpbin.org/headers
  • 设置一个自定义的主机头工作在失踪的DNS记录:
$ http localhost:8000 Host:example.com

HTTP Method

HTTP 请求方法位于 URL的左边,下面是使用DELETE方法进行请求

$ http DELETE example.org/todos/7

就像执行了下面的request-line命令行

DELETE /todos/7 HTTP/1.1

HTTPie 默认使用 GET (with no request data) 或者 POST (with request data).

Request URL

HTTPie 需要请求一个URL. 默认的 scheme 是 http://, 而且可以省略参数
– http ,
example.org就代表了
http://example.org,此外,支持curl类似的localhost, 例如  :3000
代表 http://localhost:3000,
默认是80端口

$ http :/foo
GET /foo HTTP/1.1
Host: localhost
$ http :3000/bar
GET /bar HTTP/1.1
Host: localhost:3000
$ http :
GET / HTTP/1.1
Host: localhost

当手动在url中添加 querystring parameters , 可以直接使用 key==value

key==value  的形式而不用担心
& 符号.

$ http GET www.google.com search==HTTPie tbm==isch
GET /?search=HTTPie&tbm=isch HTTP/1.1

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-19 21:18:56

HTTPie: a CLI, cURL-like tool for humans的相关文章

Installing the AWS SAM CLI on macOS

Installing the AWS SAM CLI on macOS https://docs.aws.amazon.com/zh_cn/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html The following steps help you to install and configure the required prerequisites for using th

Cheatsheet: 2015 08.01 ~ 08.31

Java Beginner's Guide to MVC with Spring Framework Exploring the Spring Web MVC for Web Application Development Mobile iOS 9: Getting Started With SFSafariViewController Windows Bridge for iOS: Let's open this up An Introduction to Handoff C# Develop

Openstack REST API

There are some high quality resources that already cover the OpenStack API, so this is a YEA (yet another example) post. See the resources section below for some helpful links. OpenStack APIs provide access to all OpenStack components, such as nova (

Artifactory &amp; GitLab CI持续集成实践

GitLab CI支持创建多个构建,并评估每次代码提交是否通过测试和以及对您产品的影响.在构建过程中,会生成大量二进制文件,如果不能正确的大规模管理这些文件,就会导致二进制文件管理混乱.为了克服这个问题,Artifactory被无缝地集成到GitLab CI构建过程中,以便更好的发布和管理这些二进制文件,并通过JFrog CLI, GitLab CI缓存.发布您的依赖包.制品包和构建信息到Artifactory. 这篇文章描述了如何将 GitLab CI 与 Artifactory 集成在一起,

Awesome Machine Learning

Awesome Machine Learning  A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php. If you want to contribute to this list (please do), send me a pull request or contact me @josephmisiti Als

前端工具集合

前端组织 虽混过外企俩家,但劳资英文这项的技能点还是灰色的...so,俺关注的站点主要以中文为主 名称 推荐指数 备注/说明 Git ★★★★★ 劳资清楚这不是个纯粹的前端社区... 但作为全球最大的搞基社区,无数前端项目在这启航 没Git都不好意思面基有木有! MDN ★★★★★ 不解释,无数的资源再等着你探索 Awesomes.cn ★★★★☆ 国人维护的前端资源库,深度对接到 Github 慕课 ★★★★☆ 大量的在线计算机课程. 虽然初.中级居多,但是不乏有巨作值得细细品尝 W3Cplu

大前端工具集

来自:https://github.com/nieweidong/fetool 作者: 微博 @聂微东 个人 Blog fefork.com 博客园 犀利的东哥   目录 前端组织/前端博客 博客搭建 HTML CSS 浏览端 JS Project Build Node Package Node Project 精选阅读 前端技术 Node 学习资料 前端面试 其他技术 工具/软件 Web APP Mac Linux Chrome Plugins Git 服务端 数据端 设计/交互 速查手册 杂

Apache Camel 与 Spring Boot 集成,通过FTP定时采集、处理文件

1.概要: 本项目主要是通过在Spring平台上配置Camel.FTP,实现定时从FTP服务器下载文件到本地.解析文件.存入数据库等功能. 2.搭建空项目: Spring Boot有几种自动生成空项目的机制:CLI.Spring tool suite.网站Spring Initializr,我们选择第三个. 访问网站http://start.spring.io/,如下图 在dependencies添加依赖包的时候,在框中输入camle.jdbc.mysql会自动弹出提示,确认即为选中,如下图:

机器学习框架、库

C General-Purpose Machine Learning Computer Vision C++ Computer Vision General-Purpose Machine Learning Natural Language Processing Sequence Analysis Common Lisp General-Purpose Machine Learning Clojure Natural Language Processing General-Purpose Mac