网站图片链接无法在其他浏览器中显示的原因
爬取壁纸网站 https://www.playke.com 时发现了一个有趣的现象:使用浏览器右键菜单的“在新标签页中打开图片”正常,但复制链接在其他浏览器中打开则会显示 404 错误。
原因分析
经过分析发现,该网站为图片链接添加了简单的防盗链机制,即需要带上正确的 referer 头才能访问图片:
$ cURL -sI -e 'https://www.playke.com/xiezhen/mzsock/48884.html' https://www.playke.com/wp-content/uploads/2022/07/e7711-02111148847.jpg HTTP/2 200 server: nginx date: Sun, 31 Jul 2022 02:17:07 GMT content-type: image/jpeg content-length: 126522 last-modified: Wed, 27 Jul 2022 12:32:53 GMT etag: "62e13075-1ee3a" expires: Tue, 30 Aug 2022 02:17:07 GMT cache-control: max-age=2592000 strict-transport-security: max-age=31536000 accept-ranges: bytes
登录后复制
从上面的 curl 命令头信息中可以看到,带上 referer 头时可以正常访问图片。因此,你如果在爬取时不加上 referer 头,则会遇到 404 错误。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容