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 ...
随机推荐
- 第3节 hive高级用法:16、17、18
第3节 hive高级用法:16.hive当中常用的几种数据存储格式对比:17.存储方式与压缩格式相结合:18.总结 hive当中的数据存储格式: 行式存储:textFile sequenceFile ...
- ios打电话发短信接口
电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [[UIApplication sharedApplicatio ...
- C++操作MYSQL遇到的一些问题
首先 我使用的是 vcpkg<不知道的可以进行百度 可以剧透一下,这个对Visual Studio使用一些C++的轮子太方便了, 上面是我装的一些库<大大安利vcpkg 安装时一定要使用p ...
- [Python3网络爬虫开发实战] 2.1-HTTP基本原理
在本节中,我们会详细了解HTTP的基本原理,了解在浏览器中敲入URL到获取网页内容之间发生了什么.了解了这些内容,有助于我们进一步了解爬虫的基本原理. 1. URI和URL 这里我们先了解一下URI和 ...
- 零基础入门学习Python(6)--Python之常用操作符
前言 Python当中常用操作符,有分为以下几类.幂运算(**),正负号(+,-),算术操作符(+,-,*,/,//,%),比较操作符(<,<=,>,>=,==,!=),逻辑运 ...
- redis 的安装及常用的命令
前言: redis是一个key-value的存储系统,value支持string.list.set.zset.hash五种类型,且支持数据的本地存储 一.安装redis 前提:linux下需要安装了m ...
- 每周一赛(E题,广搜求方案)
Description In this problem, you are given an integer number s. You can transform any integer number ...
- 原生js获取复选框的值
obj = document.getElementsByName("dk_tj"); var longtxt = ""; for (k in obj) { ...
- stm32 调试时卡在LDR R0, =SystemInit
网上找到的可能的原因 堆栈空间默认的太小 默认startup_stm32f10x_hd.s中 Stack_Size EQU 0x00000400,如果改大之后,可能调试就可以正常运行. 出现最多的情况 ...
- webdriver学习笔记(一):webdrive脚本打开firefox浏览器,报“AttributeError: module 'selenium.webdriver' has no attribu
按照网上提供的方法: 下载geckodriver之后解压缩到 Firefox安装目录 下 添加 Firefox安装目录 到 系统变量Path 重启pycharm 照此步骤执行后,仍然报同样的错.折腾了 ...