curl及wget使用说明
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
curl及wget使用说明的更多相关文章
- linux包-下载-curl与wget
[root@localhost ~]# rpm -qa|grep curllibcurl-7.19.7-37.el6_4.x86_64python-pycurl-7.19.0-8.el6.x86_64 ...
- Linux学习:curl 与 wget命令
curl和wget命令都是Linux下的工具,可以用来下载文件. 一.wget 例1: wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip 下载 ...
- Shell curl 和 wget 使用代理IP
Linux Shell 提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget curl 和 wget 使用代理 curl 支持 http.https.socks4.socks5 wge ...
- curl与wget
curl 和wget 区别 使用方法 可参考 curl vs Wget 1.curl是libcurl这个库支持的,wget是一个纯粹的命令行命令.2.curl支持更多的协议.curl supports ...
- curl和wget的区别和使用
curl和wget基础功能有诸多重叠,如下载等. 非要说区别的话,curl由于可自定义各种请求参数所以在模拟web请求方面更擅长:wget由于支持ftp和Recursive所以在下载文件方面更擅长.类 ...
- curl 与wget的区别
CURL与wget的区别 当想要直接通过linux 命令行下载文件,马上就能想到两个工具:wget 和 CURL.它们有很多一样的特征,可以很轻易的完成一些相同的任务,虽然它们有一些相似的特征,但它们 ...
- 开源http协议库curl和wget的区别和使用
curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览器):wget由于支持ftp和Recursive所以长于下 ...
- linux下载利器之curl和wget的区别
linux下载利器-------curl和wget的区别 curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览 ...
- Linux命令发送Http的get或post请求(curl和wget两种方法)
Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...
随机推荐
- salt 根据ip修改主机名
首先定义pillar [root@web1 pillar]# cat hostname.sls ip_hostname: 10.1.1.1: web1 10.1.1.2: web2 10.1.1.3: ...
- asp怎么实现二级联动下拉菜单
rs为一级栏目的记录集 rs2为二级栏目的记录集 分别替换成你自己的记录集名称就好了 <script language="JavaScript"> var onecou ...
- Spring MVC-表单(Form)标签-多行文本框(TextArea)示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_textarea.htm 说明:示例基于Spring MVC 4.1.6. 以下示 ...
- Udp发送端和接收端
//UdpReceive.java /* 定义udp的接收端. 思路: 1.定义udpSocket服务.一般会监听一个端口,事实上就是这个接收网络应用程序定义一个数字标示. 2.定义一个数据包.用来存 ...
- Map 遍历取值及jstl的取值
Map 遍历取值及jstl的取值 学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239 1.Java map的便利取值 Java代 ...
- [hdu 3264] Open-air shopping malls(二分+两圆相交面积)
题目大意是:先给你一些圆,你可以任选这些圆中的一个圆点作圆,这个圆的要求是:你画完以后.这个圆要可以覆盖之前给出的每一个圆一半以上的面积,即覆盖1/2以上每一个圆的面积. 比如例子数据,选左边还是选右 ...
- [Javascript] Understand common misconceptions about ES6's const keyword
Values assigned with let and const are seen everywhere in JavaScript. It's become common to hear the ...
- 文字录入无限制Undo,Redo的实现
这里只针对Edit的内容做一个简单的undo,redo功能: 原理就是,将新增字符和相关信息添加到undo列表,在undo动作时,取记录信息,并在edit中删除新增的字符,然后将此动作添加到redo列 ...
- 自然语言处理(NLP)书籍资源清单
1. 书籍 入门: <Speech and Language Processing>Dan Jurafsky ,James H. Martin 2. blog及项目
- 当使用Spring MVC @Valid对输入框进行验证的时候,可能会遇到以下的异常:Neither BindingResult nor plain target object for bean name ‘mybean’ available as request attribute
转自:https://www.cnblogs.com/wenhulu/p/5555457.html 当使用Spring MVC @Valid对输入框进行验证的时候,可能会遇到以下的异常: Neithe ...