写在前面:

a.  对比curl 和 wget 的相同和不同点 来记忆

a-1

curl url  直接将请求内容输出到标准输出。 如果下载不是瞬时间完成,会显示下载进度条,如果向取消,加-s :

wget  url 将请求内容下载到当前目录,名字是请求的文件名字。同时会显示域名解析 和 端口连接信息,如果想屏蔽,加 -q :

a-2

curl 请求常用 -Lvso   -o  将请求内容输出到指定文件, -L follow 301 and 302 , -v 输出请求头和响应头信息。

wget 请求常用 -SO -O 将请求内容输出到指定文件 , -S 打印响应头。curl 不能实现 输出响应头信息的同时将请求内容下载下来, 只能实现  输出HTTP头和返回内容 ,用 -i 参数。

a-3

curl -I  and -i  区别, -I 只输出响应头信息,不返回请求内容, -i 输出HTTP头和返回内容。

curl 的post 请求,

curl  只跟 -d  或--data  ,代表是post 请求, -X POST 可加可不加,post 请求 也是有返回内容的(不是我以前自认为的理解 无返回内容),如果请求的格式是json 格式,即  ”Content_Type:Application/json “,返回的是json字符串,想要 直观的查看字符串的内容,要将字符串 转换成json 格式化,网上搜索 json格式化 即可。

curl and wget 详细的命令,如下

1. curl

直接跟 url ,会将url 的内容直接输出到桌面,同时会显示下载进度条, -s 可屏蔽这个输出

-s silent   -v 详细输出   -L  302 追踪

-w  自定义输出格式  如

-w %{http_code}   curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n

-x 代理

-I 只输出请求header , -i  include  请求内容和  header

-A  自定义user-agent

curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

-H  自定义header

默认请求内容输出到屏幕 , -o 输出重定向, 可以直接请求https

-d POST 请求发送 json 数据, 如

curl -H "Content-type:Application/json" -d '{"hostname": "a-1-1", "result": {"hostname": "hostname", "network": [{"DEVICE": "bond0", "IPADDR": "1.1.1.1"}, {"DEVICE": "bond1", "IPADDR": "10.11.100.32"}], "service_tag": "060580bD40"}}'  "url"

https 访问加代理方式  --resolv blog.csdn.net:443:47.95.47.253

curl 组合使用命令

-Lvo /dev/null    访问内容输出到 /dev/null  -o 访问结果 输出详情 -v   follow 第三方跳转 -L

-s  访问结果silence ,传输速度 不输出,curl 默认显示传输速度

--limit-rate number   限速,可以识别单位,不加单位默认是 比特, B  ,不是 b 字节。

wget 参数

-O 下载内容输出位置,默认输出到当前目录,名字为url 的文件名,-O 自定义名字

-S  print server response

-q  quite

--limit-rate=1K   限速 1KB/s, 和 curl 限速一样,不加单位,默认是B,字节,不是b,比特,命令和curl 区别是  curl 无=  wget 跟 =

-O 跟- 代表下载内容输出到 stand output ,同 curl 默认输出,多用于 直接执行下载脚本内容。如 wget -qO - http://url/a.sh |bash

curl 如何访问ipv6 地址:

提示: 将ipv6 地址 放到 [] 里, 其他语法照旧:

如:curl "http://[2409:8c44:2f00:300:8001::239]:80/m.html"

”“  加不加 无所谓

curl 报错  curl: (3) [globbing] error: bad range specification after pos 9

解决办法: 加  -g  :

-g/--globoff
 This  option  switches off the "URL globbing parser". When you set this option, you can specify URLs that contain the letters {}[] without having them being interpreted by curl itself. Note that these letters are not normal legal
 URL contents but they should be encoded according to the URI standard.
翻译:

-g/  --globoff 通配符关闭  globbing 通配符

这个选项 是 关闭  “URL 通配符 解析” 。当你设置了此参数,你就可以指定 那些包含 字符 {} 和 [] 的 URL 不用翻译这些字符(即不把这两个字符当通配符对待)。注意 这些字符 并不是 正常合法的URL 包含的,但它们 应当被 依据 URI 标准 被 编码。

curl and wget的更多相关文章

  1. 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 ...

  2. Linux学习:curl 与 wget命令

    curl和wget命令都是Linux下的工具,可以用来下载文件. 一.wget 例1: wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip 下载 ...

  3. Shell curl 和 wget 使用代理IP

    Linux Shell 提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget curl 和 wget 使用代理 curl 支持 http.https.socks4.socks5 wge ...

  4. curl与wget

    curl 和wget 区别 使用方法 可参考 curl vs Wget 1.curl是libcurl这个库支持的,wget是一个纯粹的命令行命令.2.curl支持更多的协议.curl supports ...

  5. curl和wget的区别和使用

    curl和wget基础功能有诸多重叠,如下载等. 非要说区别的话,curl由于可自定义各种请求参数所以在模拟web请求方面更擅长:wget由于支持ftp和Recursive所以在下载文件方面更擅长.类 ...

  6. curl 与wget的区别

    CURL与wget的区别 当想要直接通过linux 命令行下载文件,马上就能想到两个工具:wget 和 CURL.它们有很多一样的特征,可以很轻易的完成一些相同的任务,虽然它们有一些相似的特征,但它们 ...

  7. 开源http协议库curl和wget的区别和使用

    curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览器):wget由于支持ftp和Recursive所以长于下 ...

  8. linux下载利器之curl和wget的区别

    linux下载利器-------curl和wget的区别 curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览 ...

  9. Linux命令发送Http的get或post请求(curl和wget两种方法)

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...

  10. curl 转 wget

    curl 转 wget // sed -e 's@-H @--header=@g;s@^curl @wget @g;s@--compressed$@@g' $crf var curlStr = `cu ...

随机推荐

  1. springmvc处理一个请求的全流程

    首先,用户的浏览器发出了一个请求,这个请求经过互联网到达了我们的服务器. Servlet 容器首先接待了这个请求,并将该请求委托给 DispatcherServlet 进行处理. 接着 Dispatc ...

  2. python中else与finally的总结

    1.else的用法 对try...except的补充: else子句的使用比在子句中添加其他代码更好,try因为它避免了意外捕获由try... except语句保护的代码未引发的异常. for arg ...

  3. 关于topN问题的几种解决方案

    在系统中,我们经常会遇到这样的需求:将大量(比如几十万.甚至上百万)的对象进行排序,然后只需要取出最Top的前N名作为排行榜的数据,这即是一个TopN算法.常见的解决方案有三种: (1)直接使用Lis ...

  4. JDK、JRE、JVM的区别与关系

    JDK JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品. JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里 ...

  5. 图像的padding操作

    为了完成卷积后图像大小不变,原始图像需要进行边界填充 copyMakeBorder(src,dst,top,bottom,left,right,bordertype,value); bordertyp ...

  6. Windows全屏代码--摘自Chrome

    变量定义: typedef struct SCREEN_INFO { DWORD dwStyle; DWORD dwExStyle; CRect rect; bool bMaximized; }Sre ...

  7. (三)根据向导创建MFC工程,事件的添加和删除

    一,文档视图结构 文档:它是一个类,这个类专门用来存储数据 视图:它是一个类,这个类专门用来显示和修改数据 框架类:一个容器,这个容器装了视图 健完工程之后,类视图: 运行一下: 几个比较重要的函数 ...

  8. 小米oj 有多少个等差数列(动态规划)

     有多少个等差数列? 序号:#20难度:困难时间限制:500ms内存限制:10M 描述 等差数列是常见数列的一种,如果一个数列从第二项起,每一项与它的前一项的差等于同一个常数,这个数列就叫做等差数列, ...

  9. 如何知道,当前redis实例是处于阻塞状态?

    随便get一个key,然后卡着不动就行,简单粗暴.优雅一点是看latency的延迟,blocked_clients的数量,rejected_connections的数量等 或者 方法一:登录 Redi ...

  10. shell之列表的定义与循环

    字符串列表定义方法1: a=(f1 f2 f3 f4)for i in ${a[*]}#遍历每一个列表值 for i in ${a[@]}#等价与上一句 实例: #!bin/basha=(f1 f2 ...