成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden

成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden

  • 问题描述
  • 解决方案
  • 原理
    • 什么是User Agent
    • 解决

问题描述

–2023-07-15 02:32:57-- https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)… 2402:f000:1:400::2, 101.6.15.130
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|2402:f000:1:400::2|:443… connected.
HTTP request sent, awaiting response… 403 Forbidden
2023-07-15 02:32:57 ERROR 403: Forbidden.
如图:
在这里插入图片描述

解决方案

在wget下载链接前面加上一个-U,如下

wget -U NoSuchBrowser/1.0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh

wget -U NoSuchBrowser/1.0 下载链接

成功解决!

原理

出现这个错误是因为在使用wget或curl请求资源时被服务器拒绝了,为了防止爬虫等消耗服务器资源,服务器根据你的请求头进行了选择性屏蔽,因此需要修改wget和curl的代理User-Agent来进行伪装。

什么是User Agent

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

常常要用server抓资料时,都会碰到直接使用wget和curl被服务器拒绝的状况。通常简单加个user-agent伪装一下就会过了。

什么是User Agent,怎么获取,可以参考下面这篇博客,当然你也可以直接用我上面这个。

什么是UserAgent以及使用浏览器查看UserAgent的方法:
https://blog.csdn.net/BobYuan888/article/details/88950275

解决

一、
修改wget的User-Agent
1、临时变更wget的UA

在wget前加上参数 -U,代表设置User Agent

wget www.google.com -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

2、永久变更Wget的UA

修改配置文件/etc/wgetrc,添加下面这一行:

header = User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36

上面这个配置后会所有用户生效,如果只需要当前用户生效,可以将上面这行添加进~/.wgetrc,这个文件如果没有的话可以手动创建。

二、修改curl的User-Agent
1、临时变更curl的UA

使用以下参数:

curl https://www.google.com --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

2、永久变更curl的UA

修改配置文件~/.curlrc,添加下面这一行:

–user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36

你可能感兴趣的:(霸哥(BUG)日记,http,网络协议,网络,wget,403)