HTTP Prompt是一个交互式的命令行HTTP客户端,支持自动完成、语法高亮,基于HTTPie和prompt_toolkit构建。HTTP Prompt相对于其它命令行的HTTP客户端(如HTTPie、Curl等)使用上更加直观方便。如对HTTPie有兴趣,可参考之前写的[如何用httpie更高效的调试接口] 一文。

项目地址: https://github.com/eliangcs/http-prompt

先展示一下HTTP Prompt官方给出的效果图。


有没有觉得很酷!

HTTP Prompt安装

通过Python包管理工具安装

Root用户

$ pip install http-prompt

非Root用户

$ sudo pip install http-prompt

注:需要Root权限,否则会报权限错误。这种方式会安装到全系统中,所有用户都可使用。

使用--user选项可只安装到你的用户目录中

$ pip install --user http-prompt

升级

$ pip install -U http-prompt

HTTP Prompt配置

HTTP Prompt首次运行时会建立一个用户配置文件。配置文件默认放在~/.config/http-prompt/config.py(Linux)或~/AppData/Local/http-prompt/config.py(Windows)。

config.py提供command_styleoutput_stylepager三个选项可对输出的样式进行控制。

$ cat ~/.config/http-prompt/config.py# Highlighting style for prompt commands. Available values:# algol, algol_nu, autumn, borland, bw, colorful, default, emacs, friendly,# fruity, igor, lovelace, manni, monokai, murphy, native, paraiso-dark,# paraiso-light, pastie, perldoc, rrt, solarized, tango, trac, vim, vs, xcode.# See gallery at http://eliangcs.github.io/http-prompt/style-gallery.htmlcommand_style = 'solarized'# Highlighting style for HTTPie's output. Available values are the same as# command_style. Set this to None to use HTTPie's default style, which you# can refer to https://github.com/jkbrzt/httpie#default_optionsoutput_style = None# The tool used to paginate output. Available values: 'less' and 'more'.# Note that 'more' does not support ANSI colors.pager = 'less'

HTTP Prompt使用

开始一个会话,执行如下:

# 访问一个URL$ http-prompt http://httpbin.org# 如访问URL需身份验证,可通过指定相应参数。$ http-prompt localhost:8000/api --auth user:pass username=somebody

进入一个会话后,你可执行以下命令。

使用cd命令改变URL地址:

# 切换到一个相对地址> cd api/v1# 切换到一个绝对地址> cd http://localhost/api

要添加headers、查询字符串,使用的语法与HTTPie类似。如下:

> Content-Type:application/json username=john> 'name=John Doe' apikey==abc> Authorization:"Bearer auth_token"

还可以添加HTTPie选项,如以下这样:

> --form --auth user:pass> --verify=no username=jane

通过HTTPie生成提交预览:

> httpie posthttp --auth user:pass --form POST http://httpbin.org/api apikey==abc username=john

您可以通过命令httpie提供选项和参数暂时覆盖请求参数,该覆盖不会影响以后的请求。

# 没有初始参数> httpiehttp http://localhost# 临时覆盖请求参数> httpie /api/something page==2 --jsonhttp --json http://localhost/api/something page==2# 当前状态并不受影响> httpiehttp http://localhost

要实际发送请求, 使用以下HTTP方法:

> get> post> put> patch> delete> head

以上的HTTP方法也支持暂时覆盖所有选项和参数:

# 没有初始参数> httpiehttp http://localhost# 发送一个包含参数的请求> post /api/v1 --form name=jane# 当前状态并不受影响> httpiehttp http://localhost

删除现有的header、参数、或HTTPie选项:

> rm -h Content-Type> rm -q apikey> rm -b username> rm -o --auth

删除当前会话中所有参数和选项:

> rm *

离开当前会话:

> exit


©著作权归作者所有:来自51CTO博客作者mb5fe94c9f04536的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. php函数作用域与闭包|回调与参数-函数多值返回类型
  2. 函数基础语法,函数进阶
  3. 认识函数的类型、参数与返回值
  4. PHP基础知识:函数相关知识
  5. PHP基础: 函数作用域与闭包,回调的使用场景与参数调用和函数的多
  6. PHP函数中那些容易忽略的细节
  7. php函数讲解
  8. 函数作用域与闭包、回调使用场景与参数调用、函数的多值返回
  9. 函数作用域与闭包-回调与参数-函数多值返回类型方式

随机推荐

  1. 使用随机盐改进密码哈希
  2. Wordpress 外网访问时不显示图片解决办法
  3. Java MySQL数据类型对照
  4. [征集] MySQL交叉表解决方案及散分
  5. VS2013使用EF6通过ADO.NET 连接mySql成功
  6. mysql 批量更新与批量更新多条记录的不同
  7. MySQL第一课(基础、库操作、表操作)
  8. labview使用DSN与数据库的连接包括access
  9. 【文档】五、Mysql Binlog事件结构
  10. g++ 连接 mysql 编译报错 /usr/bin/ld: c