wget下载需登录的网页中的文件

本文介绍如何使用wget工具下载需要登录权限的网页文件,包括设置HTTP用户名与密码,利用curl登录校园网网关,以及通过浏览器获取并使用cookie进行后台下载的方法。

wget下载需登录的网页中的文件(使用cookie)

wget简介

以网络下载 maven 包为例
wget -c http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

  • wget是linux下一个从网络上自动下载文件的常用自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。一般的使用方法是: wget + 空格 + 参数 + 要下载文件的url路径。默认下载到当前目录中。
    Wget常用参数
    -b:后台下载,Wget默认的是把文件下载到当前目录。
    -O:将文件下载到指定的目录中。
    -P:保存文件之前先创建指定名称的目录。
    -t:尝试连接次数,当Wget无法与服务器建立连接时,尝试连接多少次。
    -c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。
    -r:使用递归下载
    –http-user=USERNAME :指定用户名
    –http-passwd=PASSWARD :指定密码
  • tips:当https网址无法建立ssl连接,可以改为http试一下。

校园网网关登录

  • 由于本人使用的服务器是在学校的局域网上的,下载数据集时需要使用curl Post登录校园网网关:
    curl -X POST http://10.3.8.211/login -F user=USERNAME -F pass=PASSWORD -F line=
    解释:上面的网址是北邮的网关登录地址,请替换为自己学校的网关;USERNAME和PASSWARD替换为自己的账号密码,line=的后面不用写东西,空着就好。

  • 检查网络是否接通:
    ping www.baidu.comping通了
    上图这样就表示ping通了(使用ctrl+c)退出。

使用浏览器cookie信息帮助你登录网站

  • 命令:
    wget --header=“Cookie: XXXX” -b URL
    例如:wget --header=“Cookie:PHPSESSID=g7fjsdfhujl1kp4ttn” -b http://www.cityscapes-dataset.com/file-handling/?packageID=14
    -b表示启用后台下载。由于是后台下载,不会显示进度条,成功启动下载会提示进程号,如下:
    带-b命令的描述

  • 查看你的用户目录下的进程。
    ps -u USERNSME 找到上面提示的pid即说明已经出于后台下载中。-

  • 查看下载进度:
    cat wget-log
    在下载目录下,cat下载任务对应的log文件
    或者使用命令:
    tail -f wget-log

  • 取得Cookie信息(重点!)

  1. 用你的浏览器打开下载文件所在的网站,并登录好。(这里我用的edge浏览器)
  2. F12键打开网页源代码,调到网络一栏,然后刷新网页,这时右侧标头(headers)栏中会出现cookie信息,把它复制下来。如下
    获取cookie
  3. 把–header="Cookie: XXXX"里的XXXX用复制的cookie信息替代即可。
    OVER!!

参考资料:https://www.cnblogs.com/hankal/p/9815068.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值