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

这篇具有很好参考价值的文章主要介绍了成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

–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下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden,霸哥(BUG)日记,http,网络协议,网络,wget,403

解决方案

在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,添加下面这一行:文章来源地址https://www.toymoban.com/news/detail-571628.html

–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

到了这里,关于成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ingress 400 Bad Request The plain HTTP request was sent to HTTPS port

      问题现象         访问时返回400 Bad Request,并提示 The plain HTTP request was sent to HTTPS port 。 问题原因         Ingress Controller到后端Pod请求使用了默认的HTTP请求,但后端是HTTPS服务。。 解决方案         添加注释,让其使用https请求 官方配置:Annotations - NGINX Ingres

    2024年02月12日
    浏览(50)
  • 400 The plain HTTP request was sent to HTTPS port

    接口请求发生问题: 解决方法: Nginx HTTP 服务器的报错 “ 400 Bad Request: The plain HTTP request was sent to HTTPS port ”,本文将讲解如何解决这个问题。 简单从报错的字面意思上来看,是因为HTTP请求被发送到HTTPS端口,这种报错多出现在Nginx既处理HTTP请求又处理HTTPS请求的情况。 以下

    2024年02月08日
    浏览(69)
  • Python爬虫教程:使用requests、wget和urllib3下载图片和PDF文件

    本文介绍了如何使用Python中的requests、wget和urllib3库下载图片和PDF文件,通过示例代码演示了如何通过Selenium定位文件地址后,使用这三种方法进行文件下载操作。

    2024年02月09日
    浏览(73)
  • [nodejs]关于http.request遇到报错BadRequestError: request aborted怎么解决

    今天写demo时,调用http.request方法时遇到服务端报错BadRequestError: request aborted,点击进入报错的位置:  然后根据我写请求里有content-length:  发现是content-length乜有设置成和发送的消息内容的长度一致,把长度改成消息内容的长度就行了,或者注释掉也可以。

    2024年02月12日
    浏览(94)
  • python3:四种常见方式从远程服务器下载文件(paramiko、requests、wget、urllib2)

    下载一个文件夹时,便可以使用这个方法, paramiko模块提供了ssh及sftp进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要先进行安装 默认会立即下载文件内容并保存到内存中,如果文件很大,会给内存造成压力 如果文件很大,会给

    2024年02月16日
    浏览(65)
  • 【Linux命令详解 | wget命令】 wget命令用于从网络下载文件,支持HTTP、HTTPS和FTP协议

    在编程世界中,处理网络资源是一项关键任务,而 wget 命令就是一位可靠的助手。 wget (全名为“Web Get”)是一种用于从网络下载文件的工具,它能够处理多种协议,包括HTTP、HTTPS和FTP。作为一个博主,我们可以利用 wget 命令来获取文件、备份网站内容、自动下载资源等。

    2024年02月12日
    浏览(40)
  • 使用cURL和wget在Linux上进行HTTP请求和下载

    在Linux上,cURL和wget是两个常用的命令行工具,用于发送HTTP请求和下载文件。下面我将详细介绍如何使用这两个工具进行HTTP请求和下载操作。 首先,让我们了解一下cURL。cURL是一个功能强大的命令行工具,可以用来发送各种类型的HTTP请求,如GET、POST等。它还可以设置请求头

    2024年01月17日
    浏览(44)
  • import javax.servlet.http.HttpServletRequest;HttpServletRequest request多处标红报错,如何解决?

    在做动态网页开发是,一不留神 javax.servlet.http.HttpServletRequest;HttpServletRequest request满屏标红报错。看下图   这是因为项目缺少两个jar依赖,分别是jsp-api.jar和servlet-api.jar ,我们按照如下操作导入即可快速解决。 右键项目--》Properties--》Java Build Path--》Libraries--》Add External JAR

    2024年02月12日
    浏览(66)
  • 【异常】客户端发起HTTPS请求报错,服务端返回400 Bad Request ,并且提示No required SSL certificate was sent

    HTTP响应码400表示客户端发送了一个无效的请求。这可能是由于请求中缺少必需的参数或格式不正确等原因导致的。服务器无法处理此请求并返回400响应码。如果您正在编写Web应用程序,建议在处理请求时检查请求的有效性,并在必要时返回400响应码以指示客户端请求无效。

    2024年02月11日
    浏览(54)
  • Nginx报错 HTTP 413 Request Entity Too Large(Payload Too Large)解决方案

    上传文件时,请求参数过大,导致超出服务端限制。 客户端发送的实体主体部分比服务器能够或者希望处理的要大。  Nginx默认最大能够上传1MB文件,打开nginx.conf在http{}中,找到server{}设置: client_max_body_size 30m;(配置客户端请求实体最大值) client_body_buffer_size 128k;(配置请

    2024年02月07日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包