wget

Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。

wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。

wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

1.命令格式

wget [参数] [URL地址]

2.命令功能

用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录。wget虽然功能强大,但是使用起来还是比较简单:

1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;

2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;

3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;

4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;

5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的。

3.命令参数

启动参数:

-V, –version 显示wget的版本后退出
-h, –help 打印语法帮助
-b, –background 启动后转入后台执行
-e, –execute=COMMAND 执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc

记录和输入文件参数:

-o, –output-file=FILE 把记录写到FILE文件中
-a, –append-output=FILE 把记录追加到FILE文件中
-d, –debug 打印调试输出
-q, –quiet 安静模式(没有输出)
-v, –verbose 冗长模式(这是缺省设置)
-nv, –non-verbose 关掉冗长模式,但不是安静模式
-i, –input-file=FILE 下载在FILE文件中出现的URLs
-F, –force-html 把输入文件当作HTML格式文件对待
-B, –base=URL 将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
–sslcertfile=FILE 可选客户端证书
–sslcertkey=KEYFILE 可选客户端证书的KEYFILE
–egd-file=FILE 指定EGD socket的文件名

下载参数:

–bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)
-t, –tries=NUMBER 设定最大尝试链接次数(0 表示无限制).
-O –output-document=FILE 把文档写到FILE文件中
-nc, –no-clobber 不要覆盖存在的文件或使用.#前缀
-c, –continue 接着下载没下载完的文件
–progress=TYPE 设定进程条标记
-N, –timestamping 不要重新下载文件除非比本地文件新
-S, –server-response 打印服务器的回应
–spider 不下载任何东西
-T, –timeout=SECONDS 设定响应超时的秒数
-w, –wait=SECONDS 两次尝试之间间隔SECONDS秒
–waitretry=SECONDS 在重新链接之间等待1…SECONDS秒
–random-wait 在下载之间等待0…2*WAIT秒
-Y, –proxy=on/off 打开或关闭代理
-Q, –quota=NUMBER 设置下载的容量限制
–limit-rate=RATE 限定下载输率

目录参数:

-nd –no-directories 不创建目录
-x, –force-directories 强制创建目录
-nH, –no-host-directories 不创建主机目录
-P, –directory-prefix=PREFIX 将文件保存到目录 PREFIX/…
–cut-dirs=NUMBER 忽略 NUMBER层远程目录

HTTP 选项参数:

–http-user=USER 设定HTTP用户名为 USER.
–http-passwd=PASS 设定http密码为 PASS
-C, –cache=on/off 允许/不允许服务器端的数据缓存 (一般情况下允许)
-E, –html-extension 将所有text/html文档以.html扩展名保存
–ignore-length 忽略 `Content-Length’头域
–header=STRING 在headers中插入字符串 STRING
–proxy-user=USER 设定代理的用户名为 USER
–proxy-passwd=PASS 设定代理的密码为 PASS
–referer=URL 在HTTP请求中包含 `Referer: URL’头
-s, –save-headers 保存HTTP头到文件
-U, –user-agent=AGENT 设定代理的名称为 AGENT而不是 Wget/VERSION
–no-http-keep-alive 关闭 HTTP活动链接 (永远链接)
–cookies=off 不使用 cookies
–load-cookies=FILE 在开始会话前从文件 FILE中加载cookie
–save-cookies=FILE 在会话结束后将 cookies保存到 FILE文件中

FTP 选项参数:

-nr, –dont-remove-listing 不移走 `.listing’文件
-g, –glob=on/off 打开或关闭文件名的 globbing机制
–passive-ftp 使用被动传输模式 (缺省值).
–active-ftp 使用主动传输模式
–retr-symlinks 在递归的时候,将链接指向文件(而不是目录)

递归下载参数:

-r, –recursive 递归下载--慎用!
-l, –level=NUMBER 最大递归深度 (inf 或 0 代表无穷)
–delete-after 在现在完毕后局部删除文件
-k, –convert-links 转换非相对链接为相对链接
-K, –backup-converted 在转换文件X之前,将之备份为 X.orig
-m, –mirror 等价于 -r -N -l inf -nr
-p, –page-requisites 下载显示HTML文件的所有图片

递归下载中的包含和不包含(accept/reject):

-A, –accept=LIST 分号分隔的被接受扩展名的列表
-R, –reject=LIST 分号分隔的不被接受的扩展名的列表
-D, –domains=LIST 分号分隔的被接受域的列表
–exclude-domains=LIST 分号分隔的不被接受的域的列表
–follow-ftp 跟踪HTML文档中的FTP链接
–follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表
-G, –ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表
-H, –span-hosts 当递归时转到外部主机
-L, –relative 仅仅跟踪相对链接
-I, –include-directories=LIST 允许目录的列表
-X, –exclude-directories=LIST 不被包含目录的列表
-np, –no-parent 不要追溯到父目录
wget -S –spider url 不下载只显示过程

4.使用实例

实例1:使用wget下载单个文件

命令:
wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:
以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

实例2:使用wget -O下载并以不同的文件名保存

命令:
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080

说明:
wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

错误:下面的例子会下载一个文件并以名称download.aspx?id=1080保存
wget http://www.minjieren.com/download?id=1
即使下载的文件是zip格式,它仍然以download.php?id=1080命令。

正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080

实例3:使用wget –limit -rate限速下载

命令:
wget --limit-rate=300k http://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

实例4:使用wget -c断点续传

命令:
wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:
使用wget -c重新启动下载中断的文件,对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

实例5:使用wget -b后台下载

命令:
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。

wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
Continuing in background, pid 1840.
Output will be written to `wget-log’.

你可以使用以下命令来察看下载进度:
tail -f wget-log

实例6:伪装代理名称下载

命令:

wget --user-agent=“Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16” http://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:
有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过–user-agent参数伪装。

实例7:使用wget –spider测试下载链接

命令:
wget --spider URL

说明:
当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加–spider参数进行检查。

wget --spider URL
如果下载链接正确,将会显示

wget --spider URL
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled – not retrieving.

这保证了下载能在预定的时间进行,但当你给错了一个链接,将会显示如下错误

wget --spider url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response… 404 Not Found
Remote file does not exist – broken link!!!

你可以在以下几种情况下使用spider参数:
定时下载之前进行检查
间隔检测网站是否可用
检查网站页面的死链接

实例8:使用wget –tries增加重试次数

命令:
wget --tries=40 URL

说明:
如果网络有问题或下载一个大文件也有可能失败。wget默认重试20次连接下载文件。如果需要,你可以使用–tries增加重试次数。

实例9:使用wget -i下载多个文件

命令:
wget -i filelist.txt

说明:
首先,保存一份下载链接文件

cat > filelist.txt
url1
url2
url3
url4

接着使用这个文件和参数-i下载

实例10:使用wget –mirror镜像网站

命令:
wget --mirror -p --convert-links -P ./LOCAL URL

说明:
下载整个网站到本地。
–miror:开户镜像下载
-p:下载所有为了html页面显示正常的文件
–convert-links:下载后,转换成本地的链接
-P ./LOCAL:保存所有文件和目录到本地指定目录

实例11:使用wget –reject过滤指定格式下载

命令:
wget --reject=gif ur

说明:
下载一个网站,但你不希望下载图片,可以使用以下命令。

实例12:使用wget -o把下载信息存入日志文件

命令:
wget -o download.log URL

说明:
不希望下载信息直接显示在终端而是在一个日志文件,可以使用

实例13:使用wget -Q限制总下载文件大小

命令:
wget -Q5m -i filelist.txt

说明:
当你想要下载的文件超过5M而退出下载,你可以使用。注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。

实例14:使用wget -r -A下载指定格式文件

命令:
wget -r -A.pdf url

说明:
可以在以下情况使用该功能:
下载一个网站的所有图片
下载一个网站的所有视频
下载一个网站的所有PDF文件

实例15:使用wget FTP下载

命令:

wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url

说明:
可以使用wget来完成ftp链接的下载。

使用wget匿名ftp下载:
wget ftp-url

使用wget用户名和密码认证的ftp下载
wget --ftp-user=USERNAME --ftp-password=PASSWORD url

备注:编译安装
使用如下命令编译安装:

tar zxvf wget-1.9.1.tar.gz
cd wget-1.9.1
./configure
make
make install

TinyProxy: 提升 WGET 速度 / 优化国内机器出口通讯

为了解决国内的各种网络问题,真的是费劲了脑汁(例如 wget git……)

现提供 TinyProxy 解决方案

您可能需要

  • 一台墙外服务器

如何安装?

# Ubuntu
apt-get update
apt-get install tinyproxy -y

# CentOS
yum install tinyproxy -y

您需要调味料

  • 编辑 /etc/tinyproxy.conf
  • 也可能是 /etc/tinyproxy/tinyproxy.conf
  • 不同的系统,文件目录存在差异
Port 25
MaxClients 100
Allow 127.0.0.1
  • Port 是 TinyProxy 的监听端口,建议修改为 25 ,此为邮件端口,避免 QoS?
  • MaxClients 最大客户端链接数
  • Allow 是服务器的 IP 限制,请务必将 Allow 127.0.0.1 注释掉

重启 TinyProxy

/etc/init.d/tinyproxy restart

#顺带提一下其他
#启动:
/etc/init.d/tinyproxy start
#停止:
/etc/init.d/tinyproxy stop
#重启:
/etc/init.d/tinyproxy restart
#重载:
/etc/init.d/tinyproxy reload

使用

您可以使用以下命令使 Shell 使用之前搭建好的代理

export http_proxy=127.0.0.1:10086
export https_proxy=127.0.0.1:10086
export ftp_proxy=127.0.0.1:10086
  • 127.0.0.1 为您代理服务器的 IP
  • 10086 为您此前设置 TinyProxy 的监听端口

其他

  • 如果您遇到 403 等报错,请检查您的设置的 端口 否被占用

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

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

一、get请求

1、使用curl命令:

curl “http://www.baidu.com” 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地

curl -i “http://www.baidu.com” 显示全部信息

curl -l “http://www.baidu.com” 只显示头部信息

curl -v “http://www.baidu.com” 显示get请求全过程解析

2、使用wget命令:

wget “http://www.baidu.com”也可以

二、post请求

1、使用curl命令(通过-d参数,把访问参数放在里面):

curl -d “param1=value1¶m2=value2” “http://www.baidu.com”

  
2、使用wget命令:(–post-data参数来实现)

wget --post-data ‘user=foo&password=bar’ http://www.baidu.com

  
以上就是Linux模拟Http的get或post请求的方法了,这样一来Linux系统也能向远程服务器发送消息了。

示例:wget --post-data="" http://mcs-inner.99bill.com/mcs-gateway/mcs/task/clear

三、curl (可直接发送格式化请求例如json)

示例:目标url:http://fsc-inner.99bill.com/acs/deposit/{srcRef}

命令:curl -H "Content-type: application/json" -X POST -d '{"srcRef":"1002"}'http://fsc-inner.99bill.com/acs/deposit/1002

wget 网络请求工具

wget 是当前 Unix 系统不可或缺的工具之一。

  • 下载
  • 使用

wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

下载

Ubuntu

$ sudo apt install -y wget

CentOS

$ sudo yum install -y wget

macOS

$ brew install wget

使用

下载

$ wget https://wxnacy.com/images/vimgrep.gif

重命名

$ wget -O vg.gif https://wxnacy.com/images/vimgrep.gif

后台下载

后台下载,并将日志输出到 wget-log 中

$ wget -b https://wxnacy.com/images/vimgrep.gif

输入日志到文件

将本要输出到屏幕的日志信息输出到指定文件

$ wget -a[/-o] wget.log https://wxnacy.com/images/vimgrep.gif

下载完整网站

$ wget --mirror -p --convert-links -P ~/Downloads https://wxnacy.com
  • –miror 开户镜像下载。
  • -p 下载所有为了html页面显示正常的文件。
  • –convert-links 下载后,转换成本地的链接。
  • -P ~/Downloads 保存所有文件和目录到本地指定目录。

wget和curl设置代理服务器的命令

一、wget设置代理

eg:

wget -Y on -e "http_proxy=http://10.0.0.172:9201" "www.wo.com.cn"

此命令使用10.0.0.172:9201这个代理服务器IP和端口访问站点www.wo.com.cn

参数说明

  • -Y 是否使用代理

  • -e 执行命令

二、curl设置代理

eg:

curl -x 10.0.0.172:80 www.wo.com.cn

此命令使用10.0.0.172:80这个代理服务器IP和端口访问站点www.wo.com.cn

参数说明

  • -x 设置代理,格式为host[:port],port的缺省值为1080

两种方法解决Linux wget报错-bash: wget command not found

今天使用DigitalOcean的vps服务器,wget 时提示 -bash:wget command not found.

估计是安装的Linux系统, CentOS+7.4+x64wget软件包没有默认被安装。

可以通过以下两种方法来安装:

1、rpm 安装

rpm 下载源地址:http://mirrors.163.com/centos/6.5/os/x86_64/Packages/

下载wget的RPM包:http://mirrors.163.com/centos/6.5/os/x86_64/Packages/wget-1.12-1.4.el6.x86_64.rpm

rpm ivh wget-1.12-1.4.el6.x86_64.rpm 安装即可。

如果客户端用的是SecureCRT,linux下没装rzsz 包时,rz无法上传文件怎么办?

网上看到一个办法,安装另一个SSH客户端:SSH Secure Shell。然后传到服务器上安装,这个比较费劲,所以推荐用第二种方法。

2、yum安装

yum -y install wget

第二种方法明显更简单一些。不过如果yum包也没有安装的话,那就只能用第一种方法了。

顺便分享2个中国大陆开源镜像站,有需要的时候应该能提供不少方便:

搜狐开源镜像站:http://mirrors.sohu.com/

网易开源镜像站:http://mirrors.163.com/

Linux screen报错-bash: screen: command not found 解决

如果linux系统中没有安装screen。

会出现:-bash: screen: command not found

可以自行安装:

如果你使用yum软件包管理工具:yum install screen
如果你使用APT软件包管理工具:apt-get install screen

你也可以到Screen的官方网站去下载软件包,地址是:
http://www.gnu.org/software/screen/

怎么利用wget下载文件并保存到指定目录

资源下载的尴尬时刻

有时候人在天朝确实好难下载到墙外的资源(抓头发),好比说我今天忍不住买了一个付费插件,挂了V P N下载,愣是一直卡在0.1MB/6MB,更要命的是有时卡在95%/100%,然而开google网页秒开,无解……

未分类

郁闷了几分钟,想说可不可以通过服务器(前提你得有个服务器)下载到资源,再把资源用FTP下载到本地电脑,嗯可行,百度下,该文详述了服务器指令wget的详细用法(http://java-er.com/blog/wget-useage-x/),我只需用下面这个,记录下:

wget是Linux上一个非常不错的下载指令,一般来说,要使用wget下载档案,只需要打以下的指令:

wget 网址

而要让档案自动储存到指令的目录下,则需要借用-P这个参数,可以使用以下的指令

wget -P 目录 网址

举例来说,如果你要放到/root底下,你可以打下列的指令:

wget -P /root 网址

利用wget下载文件并保存到指定目录

炒鸡简单,套用“wget -P 目录 网址”指令齐全如下:

wget -P /root https://yoast-mercury.s3.amazonaws.com/uploads/edd/2017/07/wordpress-seo-premium-5.0.2.zip

指令核对清楚后,点击enter执行,就可以看到代码行在跑了,如下文和下图所示:

[root@xxxxxx ~]# wget -P /root https://yoast-mercury.s3.amazonaws.com/uploads/edd/2017/07/wordpress-seo-premium-5.0.2.zip
--2017-07-24 11:31:44-- https://yoast-mercury.s3.amazonaws.com/uploads/edd/2017/07/wordpress-seo-premium-5.0.2.zip
Resolving yoast-mercury.s3.amazonaws.com... 52.216.227.120
Connecting to yoast-mercury.s3.amazonaws.com|52.216.227.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6744136 (6.4M) [application/zip]
Saving to: ?.root/wordpress-seo-premium-5.0.2.zip.1?

100%[===============================================================>] 6,744,136 285K/s in 59s (平均速度285K每秒,59秒下载完毕!)

2017-07-24 11:32:43 (112 KB/s) - ?.root/wordpress-seo-premium-5.0.2.zip.1?.saved [6744136/6744136]

未分类

打开FTP工具,可以看到资源已经下载到指定的服务器目录底下了!右击传输到自己的本地电脑即可:)

终于拿到了付费插件,心情是激动的:

未分类

如何知道资源的下载网址?

一般用chrome浏览器,下载失败后会提示,举个例子,如图:

未分类

  • AhrefsTop-24-Jul-27831f24679b5143712800002a891b96.csv 已取消
  • https://ahrefs.com/download/2017-07-24/csv/AhrefsTop-24-Jul-27831f24679b5143 (这个网址就是下载地址啦,但是它最后的文件名不完整,把第一行的文件名代入即可啦)

补全后,完整的下载地址就是这样子啦:https://ahrefs.com/download/2017-07-24/csv/AhrefsTop-24-Jul-27831f24679b5143712800002a891b96.csv

  • 资料大小;25M
  • 下载速度:3.02M每秒
  • 下载时间:7.4秒
[root@xxxxxxxxxx ~]# wget -P /root https://ahrefs.com/download/2017-07-24/csv/AhrefsTop-24-Jul-27831f24679b5143712800002a891b96.csv
--2017-07-24 11:05:30-- https://ahrefs.com/download/2017-07-24/csv/AhrefsTop-24-Jul-27831f24679b5143712800002a891b96.csv
Resolving ahrefs.com... 151.80.39.61
Connecting to ahrefs.com|151.80.39.61|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26285637 (25M) [text/csv]
Saving to: ?.root/AhrefsTop-24-Jul-27831f24679b5143712800002a891b96.csv?

100%[=========================================================>] 26,285,637 3.02M/s in 7.4s

2017-07-24 11:05:38 (3.40 MB/s) - ?.root/AhrefsTop-24-Jul-27831f24679b5143712800002a891b96.csv?.saved [26285637/26285637]

以后可以愉快地玩耍了。

设置curl和wget使用http https代理

Linux Shell 提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget

curl 和 wget 使用代理

  • curl 支持 http、https、socks4、socks5

  • wget 支持 http、https

代理示例:

#!/bin/bash
#
# curl 支持 http、https、socks4、socks5
# wget 支持 http、https
#


# http代理格式         http_proxy=http://IP:Port
# https代理格式         https_proxy=http://IP:Port

{'http': 'http://120.77.176.179:8888'}
curl -m 30 --retry 3 -x http://120.77.176.179:8888 http://proxy.mimvp.com/exist.php                    # http_proxy
wget -T 30 --tries 3 -e "http_proxy=http://120.77.176.179:8888" http://proxy.mimvp.com/exist.php          # http_proxy

{'https': 'http://46.105.214.133:3128'}
curl -m 30 --retry 3 --proxy-insecure -x http://46.105.214.133:3128 -k https://proxy.mimvp.com/exist.php                    # https_proxy
wget -T 30 --tries 3 --no-check-certificate -e "https_proxy=http://46.105.214.133:3128" https://proxy.mimvp.com/exist.php    # https_proxy


# curl  支持socks
{'socks4': '101.255.17.145:1080'}
curl -m 30 --retry 3 --socks4 101.255.17.145:1080 http://proxy.mimvp.com/exist.php

{'socks5': '82.164.233.227:45454'}
curl -m 30 --retry 3 --socks5 82.164.233.227:45454 http://proxy.mimvp.com/exist.php


# wget 不支持socks

wget 配置文件设置代理

vim ~/.wgetrc

http_proxy=http://120.77.176.179:8888:8080
https_proxy=http://12.7.17.17:8888:8080
use_proxy = on
wait = 30

wget -T 30 --tries 3 http://proxy.mimvp.com

Shell 设置临时局部代理

# proxy no auth
export http_proxy=http://120.77.176.179:8888:8080
export https_proxy=http://12.7.17.17:8888:8080

# proxy auth
export http_proxy=http://username:[email protected]:8888:8080
export https_proxy=http://username:[email protected]:8888:8080


# 取消设置
unset http_proxy
unset https_proxy

Shell 设置系统全局代理

# 修改 /etc/profile,保存并重启服务器
sudo vim /etc/profile        # 所有人有效
或
sudo vim ~/.bashrc        # 所有人有效
或
vim ~/.bash_profile        # 个人有效


# proxy no auth
export http_proxy=http://120.77.176.179:8888:8080
export https_proxy=http://12.7.17.17:8888:8080

# proxy auth
export http_proxy=http://username:[email protected]:8888:8080
export https_proxy=http://username:[email protected]:8888:8080

source /etc/profile
或
source ~/.bashrc
或
source ~/.bash_profile


sudo reboot

wget多线程下载工具Axel介绍

这个工具挺老了,但是挺有用,发出来存档吧。

下载与安装

  • Debian/Ubuntu
apt-get install axel
  • CentOS

  • 由于 CentOS 源里默认没有包含 axel,我们需要安装 EPEL 才能通过 yum 进行安装。

yum install epel-release
yum install axel

使用

  • 范例:axel [options] url1 [url2] [url…]
其中[options]可以包括如下参数:
--max-speed=x , -s x 最高速度x 
--num-connections=x , -n x 连接数x 
--output=f , -o f 下载为本地文件f 
--search[=x] , -S [x] 搜索镜像 
--header=x , -H x 添加头文件字符串x(指定 HTTP header) 
--user-agent=x , -U x 设置用户代理(指定 HTTP user agent) 
--no-proxy , -N 不使用代理服务器 --quiet , -q 静默模式 
--verbose ,-v 更多状态信息 
--alternate , -a Alternate progress indicator 
--help ,-h 帮助 
--version ,-V 版本信息

实例

  • 以 8 线程下载我 DD WIN 安装包,并保存文件至 / tmp 文件夹
axel -n 8 -o /tmp/ http://185.164.138.19:18910/bt/iso/win2016_vol_cn_noname%40007.gz

CentOS 6下修复wget无法下载https链接的解决方法

CentOS6下最高版本的wget是1.11,但非常遗憾的是这个版本有bug,是没办法用来下载https链接的东西的,所以有些人为了避免这种情况会帮脚本加上不检查ssl的参数–no-check-certificate,但显然这个方法我并不是特别推荐,毕竟这并不是无解的。

而解决方法其实也不难,就是自己到gnu去下载新版本的wget来进行编译替换的动作。

方法如下:

yum -y install openssl openssl-devel gcc make perl
cd ~
wget http://ftp.gnu.org/gnu/wget/wget-1.16.tar.gz
yum -y remove wget
tar -xzvf wget-1.16.tar.gz
cd wget-1.16
./configure --with-ssl=openssl
make && make install
ln -s /usr/local/bin/wget /usr/bin/wget
cd ..
rm -rf wget-1.16*

替换完毕后你就可以开心地下载了。