问题简述
最近,我们发现无论是在Windows还是Linux系统上使用Firefox浏览器访问简书网站时,图片都无法加载。每篇文章中的图片均无法显示,这表明问题并非个别现象,而是简书网站上所有图片都无法加载。具体情况如下。
问题分析
既然图片都显示不了,我们打开浏览器开发者工具(F12)看在图片加载的具体情况,会发现所有的图片都返回了403
状态码,我们看下403
状态码的具体产生原因。
403错误。这个错误通常表现为"403 Forbidden"或"HTTP Status 403",它指的是访问资源被服务器理解但拒绝授权。换句话说,服务器可以理解你请求看到的页面,但它拒绝给你权限。
这种情况很可能是简书官方设置的限制。我们发现,访问简书时,图片加载失败的问题主要出现在PC端的Firefox浏览器,而在微软Edge和谷歌Chrome浏览器中则正常加载。这表明简书可能将Firefox浏览器进行了限制。
解决方法很简单:可以选择更换浏览器。如果更换浏览器不可行,那么可以尝试更改浏览器的用户代理(UA)。接下来,我们看下UA是个什么东西。
UA,全称为“User Agent”,中文通常直译为“用户代理”,但从其产生作用的机制来看,或许称之为“浏览器标识”或“浏览器名片”更为妥帖。
实际上,UA是一个浏览器被用来访问网站时发送给网站服务器的一串特定字符,其内容通常包含了“操作系统及版本”、“CPU 类型”、“浏览器及版本”、“浏览器渲染引擎”、“浏览器语言”、“浏览器插件”等信息。网站服务器可以根据这串字符大体判断出用户所使用的软硬件环境,进而采取不同的内容策略。
到这里你应该发现问题所在了,之所以同样的简书链接能够在Edge、Chrome、及手机端的浏览器可以正常访问,而在Firefox浏览器就出现图片加载失败的情况,是因为简述官方采用了不同的策略对Firefox浏览器UA进行了封锁限制造成了403
错误。
解决办法
- 在Firefox浏览器扩展和主题->寻找更多附加组件->搜索 random-user-agent,安装即可
- 按照下图将UA设置成新的活动
useragent
,就是非火狐浏览器的代理就可以,建议设置成Safari的UA
- 此时简书的图片应该能正常访问了,但是此时是对所有的网站域名都进行伪装UA,我们需要进一步完善,只对简书的域名起作用,在插件的打开设置->黑名单设置->白名单模式设置一下域名就可以了
www.jianshu.com
upload-images.jianshu.io
upload.jianshu.io
最后
random-user-agent 插件是一个功能强大的工具,能够帮助你轻松改变浏览器的用户代理(UA)。这项功能在多个场景下都能派上用场,尤其是在面对只允许特定用户代理的限制时。
例如,当某些网站限制仅允许手机端进行登录时,random-user-agent 插件可以让你模拟移动设备的用户代理,从而绕过这些限制,实现顺利登录。
无论是测试网站的移动端适配,还是在需要特定用户代理进行操作的场景中,这款插件都能提供极大的便利,让你更加自如地掌控浏览体验。