HTTPie: a CLI, cURL-like tool for humans
HTTPie
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,
默认是80port
$ 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
HTTPie: a CLI, cURL-like tool for humans的更多相关文章
- HTTPie:替代 Curl 和 Wget 的现代 HTTP 命令行客户端
HTTPie 工具是现代的 HTTP 命令行客户端,它能通过命令行界面与 Web 服务进行交互. -- Magesh Maruthamuthu 大多数时间我们会使用 curl 命令或是 wget 命令 ...
- cURL和HTTPie
http://lingxiankong.github.io/blog/2014/08/19/curl-httpie/ 前两天在网上看到一个号称比cURL更牛逼的命令行工具HTTPie,提供命令行交互方 ...
- python笔记42-http请求命令行工具(httpie)
前言 通常我们需要快速的测试某个接口通不通,一般linux上用curl去发http请求,但是这个命令行工具语法有点复杂了,不够直观. python有一个给人类使用的requests库,非常的简单方便. ...
- HTTP发包工具 -HTTPie
原文: https://zm8.sm-tc.cn/?src=l4uLj8XQ0IuekZWWi5bRk5CZi5qN0ZyQktCPkIyL0M6cnMmcx8qdoM7PnMrIyMnI&u ...
- efcore dotnet cli add-migrations update-database
add-migrations update-database 如何通过dotnet cli调用 dotnet tool install --global dotnet-ef dotnet ef mig ...
- [译][ABP vNext]ABP CLI,v0.18版本的新模板和其他功能
ABP CLI,v0.18版本的新模板和其他功能 ABP v0.18已发布, 包含解决的70+个issue,500+次提交 网站更改 abp.io网站完全更新以突出ABP框架的目标和重要功能.文档和博 ...
- ABPHelper.CLI及其依赖项简单介绍
目录 目录 ABPHelper.CLI 入门 使用指南 命令行 技术点如下 Scriban 通过Microsoft.Extensions.FileProviders.Embedded获取嵌入资源 通过 ...
- dotnet cli
前言 dotnet cli (Command-Line Interface) .net 源代码和二进制文件管理工具.需要安装 .NET Core SDK. 终端执行 dotnet --info 可以打 ...
- Cheatsheet: 2015 08.01 ~ 08.31
Java Beginner's Guide to MVC with Spring Framework Exploring the Spring Web MVC for Web Application ...
随机推荐
- 从Excel读取数据,然后分析相似的数据,多线程处理(多线程比较相似的字符串,统计出相似的数量及字符串)
之前的jar包有问题,现已修改. 需要的jar包,已修改 自己去Maven中央仓库下载jar包. excel数据: 直接上代码. 程序再度优化了一遍.之后如果想再度精准,可能需要建模,最近没空继续做了 ...
- uploadify插件可选参数的详细介绍
Uploadify 是一个JQuery插件,它协助你轻松简单的将一个或多个文件上传至你的网站. 它需要Flash控件和后台开发语言的支持,丰富的参数配置,同时也简单易用,让你轻松上手. 官 ...
- CocoaPods 命令和使用
CocoaPods 命令 pod init 在新建的项目根目录下运行该命令,为当前项目新建podfile文件. pod install 下载和配置 podfile里定义的项目依赖(不包括已经下载和配置 ...
- mysql中删除已有字段的唯一性约束?
username varchar() NOT NULL unique 如何把unique约束删除? 解决方法:在你建好的表...右击 ——索引/索引类型——把username唯一键去掉
- 【design pattern】代理模式
前言 设计模式分为三大类: 创建型模式:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式: 结构型模式:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式: 行为型模式 ...
- 3.2.11 行 vs 字符串
了解行(line)与字符串(string)的差异是相当重要的.大部分简易程序都是处理输入数据的行,像 grep 与 egrep,以及 sed 大部分的工作(99%)都是这样.在这些情况下,不会 ...
- 【Codeforces 231C】To Add or Not to Add
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 把数组排个序, 显然优先用大的且小于枚举的数字a[i]的数字变成a[i] 那么肯定有一个范围j. 然后a[j~i-1]都能在k花费以内变成a[ ...
- 《ajax学习》之ajax+JavaScript事件验证用户名是否可注册
当用户注册时,服务器数据库需要对用户输入的用户信息(以用户名为例子)进行验证,在不刷新页面的情况下又需要页面和服务器进行数据请求,最好的方法是用ajax异步请求. 一.实现思路: 1.用户输入信息 2 ...
- hiho一下 第五十周 (求欧拉路径)
http://hihocoder.com/contest/hiho50/problem/1 这题有重边,所以邻接矩阵用来统计节点u,v之间有多少条边相连,并且用另外一个数组统计每个节点的入度. 然后查 ...
- Codeforces 645A Amity Assessment【八数码】
题目链接: http://codeforces.com/problemset/problem/645/A 题意: 2*2的八数码问题 分析: 这题n为2,不需要搜索,直接判断字母排列顺序就好了. 注意 ...