Date: 2019-06-19

Author: Sun

1. curl的使用

注意:安装的时候可能会遇到报错,有可能是openssl没装,

apt install curl
apt install openssl
apt install openssl-dev

一些常用参数的用法

参数 说明 示例
-A 设置user-agent curl -A "Chrome" http://www.baidu.com
-X 用指定方法请求 curl -X POST http://httpbin.org/post
-I 只返回请求的头信息
-d 以POST方法请求url,并发送相应的参数 -d a=1 -d b=2 -d c=3
-d "a=1&b=2&c=3"
-d @filename
-O 下载文件并以远程的文件名保存
-o 下载文件并以指定的文件名保存 curl -o fox.jpeg http://httpbin.org/image/jpeg
-L 跟随重定向请求 curl -IL https://baidu.com
-H 设置头信息 curl -o image.webp -H "accept:image/webp" http://httpbin.org/image
-k 允许发起不安全的SSL请求
-b 设置cookies curl -b a=test http://httpbin.org/cookies
-s 不显示其他无关信息
-v 显示连接过程中的所有信息

自定义一个命令,查看本机外网IP

alias myip="curl http://httpbin.org/get|grep -E '\d+'|grep -v User-Agent|cut -d '\"' -f4"

2 wget使用

​ wget是linux上的命令行的下载工具。这是一个GPL许可证下的自由软件。wget支持HTTP和FTP协议,支持代理服务器和断点续传功能

安装:

apt install wget

参数说明

$ wget --help

A B C
-O 以指定文件名保存下载的文件 wget -O test.png http://httpbin.org/image/png
--limit-rate 以指定的速度下载目标文件 --limit-rate=200k
-c 断点续传
-b 后台下载
-U 设置User-Agent
--mirror 镜像某个目标网站
-p 下载页面中的所有相关资源
-r 递归下载所有网页中所有的链接
# 镜像下载整个网站并保存到本地
wget -c --mirror -U "Mozilla" -p --convert-links http://docs.python-requests.org

实例

(1) 下载192.168.1.168首页并且显示下载信息

wget -d http://192.168.1.168

(2) 下载192.168.1.168首页并且不显示任何信息

wget -q http://192.168.1.168

(3) 批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

wget -i filelist.txt

(4) 断点续传

wget -c http://example.com/really-big-file.iso

3. httpie

​ httpie是一个 HTTP 的命令行客户端,目标是让 CLI 和 web 服务之间的交互尽可能的人性化。这个工具提供了简洁的 http 命令,允许通过自然的语法发送任意 HTTP 请求数据,展示色彩化的输出。HTTPie 可用于与 HTTP 服务器做测试、调试和常规交互。

apt install httpie    #ubuntu
pip install httpie
yum install httpie #centos

httpie 帮助

# http
usage: http [--json] [--form] [--pretty {all,colors,format,none}]
[--style STYLE] [--print WHAT] [--headers] [--body] [--verbose]
[--all] [--history-print WHAT] [--stream] [--output FILE]
[--download] [--continue]
[--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH]
[--auth USER[:PASS]] [--auth-type {basic,digest}]
[--proxy PROTOCOL:PROXY_URL] [--follow]
[--max-redirects MAX_REDIRECTS] [--timeout SECONDS]
[--check-status] [--verify VERIFY]
[--ssl {ssl2.3,ssl3,tls1,tls1.1,tls1.2}] [--cert CERT]
[--cert-key CERT_KEY] [--ignore-stdin] [--help] [--version]
[--traceback] [--default-scheme DEFAULT_SCHEME] [--debug]
[METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]
http: error: the following arguments are required: URL

httpie 示例

1)请求 mimvp.com(米扑科技)

请求: http mimvp.com

结果: 返回有状态头200和网页正文

2)仅返回文件头header

请求: http -h proxy.mimvp.com

3)表单请求登录

请求: http --form POST proxy.mimvp.com username='mimvp-user' password='mimvp-pwd'

# 只显示Body
http -b mimvp.com
http --body mimvp.com

4)设置代理请求

请求:

http --proxy=http:http://217.107.197.174:8081 proxy.mimvp.com

http --proxy=http:http://user:pass@217.107.197.174:8081 proxy.mimvp.com

http --proxy=https:http://112.114.96.34:8118 proxy.mimvp.com

http --proxy=https:http://user:pass@112.114.96.34:8118 proxy.mimvp.com

5)下载文件

http -d minvp.com

最新文章

  1. 烂泥:KVM、kickstart与nginx集成
  2. Interleaving Positive and Negative Numbers
  3. IE 9 以下兼容HTML5
  4. POJ2763-Housewife Wind(树链剖分)
  5. Tarjan+模板
  6. [React Native + Firebase] React Native: Real time database with Firebase -- setup & CRUD
  7. 使用 text-overflow: ellipsis溢出文本显示省略号时碰到的小问题
  8. WCF技术剖析之二十一:WCF基本异常处理模式[下篇]
  9. [COM/ATL]浅析COM的思想及原理
  10. pyparsing自定义解析规则
  11. c#随机生成英文名
  12. Node.js之HTTP请求与响应
  13. How to tell your iPhone application that location services are required | The Agile Warrior
  14. .Net 数据缓存浅析
  15. [VBA]批量替换PPT里的字体颜色
  16. 网易云易盾与A10 Networks达成战略合作 携手打造抗DDoS攻击的解决方案
  17. Hive数据类型与文件存储格式
  18. java反射基础知识(二)
  19. 【luogu P3952 时间复杂度】 题解
  20. 蒜头君学英语--set()练习

热门文章

  1. MAC 快捷键&使用技巧等
  2. PAT 1089. Insert or Merge
  3. dubbo-源码阅读之javaspi&javasist简单使用
  4. 服务器监控(包括性能指标与web应用程序)
  5. [bzoj2789][Poi2012]Letters_树状数组
  6. COGS——C610. 数对的个数
  7. 解决Chrome在隐身模式下无法播放Flash视频
  8. POJ 3723 Tree(树链剖分)
  9. SpringMVC实战(三种映射处理器)
  10. HDU4300-Clairewd’s message-KMP