诊断wget命令403 forbidden error



当我尝试下面的代码时,我得到一个403禁止错误,我不知道为什么。

wget --random-wait --wait 1 --no-directories --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" --no-parent --span-hosts --accept jpeg,jpg,bmp,gif,png --secure-protocol=auto referer=https://pixabay.com/images/search/ --recursive --level=2 -e robots=off --load-cookies cookies.txt --input-file=pixabay_background_urls.txt

它返回:

--2021-09-01 18:12:06--  https://pixabay.com/photos/search/wallpaper/?cat=backgrounds&pagi=2
Connecting to pixabay.com (pixabay.com)|104.18.20.183|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2021-09-01 18:12:06 ERROR 403: Forbidden.

指出:

-输入文件有url 'https://pixabay.com/photos/search/wallpaper/?cat=backgrounds&pagi=2 ' page3, page 4等,用新行分隔

-我使用长格式表示标志,以便我能记住它们是什么。

-I使用了一个从网站生成的名为"cookies.txt"的cookie文件,并确保它是最新的。

-我使用了参考'https://pixabay.com/images/search/',我发现通过查看谷歌DevTools的头。

-我可以正常访问这些url而不需要任何可见的captcha要求

-我注意到其中一个cookie _cf_bm有一个Secure = TRUE-所以需要使用https发送。我不确定我是否在这样做

这可能实际上不可能做到,也许cloudflare是一个决定性因素。但是我想知道它是否可以被绕过,以及是否可以从这个网站下载大量文件

任何解决方案,见解或任何其他方式下载大量的图像文件将非常感激。我知道pixabay有一个API,我可能会把它作为最后的手段,但我认为它的速率非常有限。

这些图片下载站点似乎检测到是服务器在查询它们,而不是正常浏览器上的真人。试图规避这一点,就像试图用搜索引擎优化技巧愚弄谷歌一样,似乎是徒劳的,因为他们很可能会在一场持续的战斗中试图阻止人们进行大量下载。

我从一家公司辞职了,这家公司试图操纵谷歌图像来冒充他们自己的图像。

通常为失败的登录保留,但如果用于拒绝对资源的非标准访问,则适用。

我认为这些图片下载站点应该为HEAD ONLY https请求返回200响应,以便可以检查其图片的链接是否有效。这将保护他们的资源,同时允许适当的自动站点维护检查,包括检查外部链接。

最新更新