使用wget或curl时 error 403 forbidden


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

一、修改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"
什么是User Agent,怎么获取,可以参考下面这篇博客,当然你也可以直接用我上面这个。

什么是UserAgent以及使用浏览器查看UserAgent的方法:

https://blog.csdn.net/BobYuan888/article/details/88950275

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
 

参考:

1、https://www.linpx.com/p/on-an-interesting-play-wget-use.html

2、https://chaifeng.com/_curl_wget_user-agent/
————————————————
 

发布了17 篇原创文章 · 获赞 2 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/u011250186/article/details/103849041