http&https
httpie
httpie
httpie一个命令行客户端工具 linux平台支持比较好 : https://httpie.io/
一般使用pip install httpie安装, 也有其他方式安装, 支持各个操作系统平台
usage
使用格式为http/https [method] url params, 一个典型的例子
http PUT pie.dev/put \
X-Date:today \ # Header
token==secret \ # Query parameter
name=John \ # Data field
age:=29 # Raw JSON
params
几个比较重要的参数
--offline离线模式, 输出请求内容--verbose打印详细信息--formpost 表单形式--follow跟随302跳转--proxy代理--verify=no不验证证书--cert=client.pem --cert-key=client.key客户端ssl 认证--ssl=ssl3ssl协议版本,ssl2, ssl3, tls1, tls1.1, tls1.2, tls1.3--ciphers设置加密算法--print控制打印内容;--meta展示meta信息, 如请求耗时等;--quiet不输出显示任何--style设置风格颜色;--pretty设置格式化样式. 如http --offline --style=monokai pie.dev/get--download下载模式, 如http --download https://github.com/httpie/cli/archive/master.tar.gz--stream让请求输出类似于tail -f命令, 向后传递输出流, 可以用在长连接请求上, 持续输出内容, 并做处理--sessionhttp请求无状态, httpie提供了session功能, 相当于后端的session功能;--session-read-only只读session--check-status检查status返回
#! /bin/bash
if http --check-status --ignore-stdin --timeout=2.5 HEAD pie.dev/get &> /dev/null; then
echo 'OK!'
else
case $? in
2) echo 'Request timed out!' ;;
3) echo 'Unexpected HTTP 3xx Redirection!' ;;
4) echo 'HTTP 4xx Client Error!' ;;
5) echo 'HTTP 5xx Server Error!' ;;
6) echo 'Exceeded --max-redirects=<n> redirects!' ;;
*) echo 'Other Error!' ;;
esac
fi
- …