电子书网站只能下 5 本书,有办法解决吗?
导读
上网时经常会遇到这样的情况。
就是如果你不是会员,又或者没有登陆,那么每天最多只能下载 5 个内容,要想继续下载就要再等个 24 小时。
有没有办法解除这样的限制?
有!而且,奶酪今天不单单要告诉你办法,还要告诉你它的原理,那就是“浏览器消息头”。
一、浏览器消息头
浏览器消息头是什么?
浏览器消息头原名为 HTTP Header,来源于 HTTP 协议,HTTP Header 可以看作是给服务器和浏览器的附言。
它的作用,是类似于食品包装上的“配料表”。
HTTP 消息头,可分为请求头和响应头。
当你按下快捷键 F12,打开浏览器开发者工具,你就可以看到网页的请求头和响应头。
Firefox 浏览器:
Chrome 浏览器:
二、自定义消息头
也就是说,通过修改“请求头”和“消息头”,我们可以指定浏览器的返回结果。
1.1、修改方法
修改扩展推荐 Header Editor。
它不但支持多个浏览器,支持多种消息头类型,而且还支持“自定义函数”,这让它的功能变得十分强大。
1.2、正则表达式
不过,要用好 Header Editor,那你就需要知道“正则表达式”。
正则表达式说难也难,说简单与简单。
下面是我总结的一些常用的正则表达式,知道了这些,你也就算是入门“正则表达式”了。
字符 | 说明 |
. | 匹配任意一个字符。 |
* | 前面的字符出现 0 次或无限次,即可有可无。 |
+ | 前面的字符出现 1 次或无限次,即最少一次。 |
? | 前面的字符出现 0 次或 1 次,即要么不出现,要么只出现一次。 |
^ | 字符串开头。 |
$ | 字符串结尾。 |
( ) | 字符分组,匹配括号内的表达式,即表示为一组。 |
\| | 或运算符,匹配符号前面或后面的字符。 |
\ | 转义字符,用于匹配一些保留的字符,比如 [ ] ( ) . * - + ? ^ $ \ \| |
注: | 斜线 / 无须转义,替换结果也不需要转义。 |
$1 | 匹配正则表达式里小括号内容, $1 为第一组,$2 为第二,以此类推。 |
更详细正则手册:https://github.com/ziishaned/learn-regex
三、规则分享
下面我们以一些实际的案例来讲解规则应该怎么写。
3.1、网页重定向
比如蓝奏云的老链接已无法打开,而 lanzouv.com 可以正常打开,我们可以给它写一个重定向规则。
编写方法:
具体代码:
名称:蓝奏云链接 zous >> zouv
规则类型:重定向请求
匹配类型:正则表达式
匹配规则:^https?://(.*)\.lanzous\.com/(.*)
执行类型:常规
重定向至:https://$1.lanzouv.com/$2
3.2、限制重定向条件
一些链接重定向,如果设置的是全局环境,那么有可能会导致网页无法显示。
比如小红书的图片,当打开时,浏览器默认是直接下载。
https://ci.xiaohongshu.com/a080a2eb-beb6-1401-4789-e63b3182328e?imageView2/2/w/540/format/jpg
我想用“图片缓存服务网站” https://images.weserv.nl/?url= 来让图片在浏览器中预览。
如果是用上面的重定向规则,那么会导致小红书网页的图片无法显示,这里我们需要用“自定义函数”来解决。
设置“仅当图片在地址栏打开”时才启用规则。
具体代码:
if (detail.type === "main_frame") {
return val.replace("https://safe-img.xhscdn.com", "https://images.weserv.nl/?url=https://safe-img.xhscdn.com");
}
3.3、网页去跳转
现在很多网站都会有“站外链接跳转”,需要“二次点击”才能访问,特别地影响浏览体验,我们以知乎为例。
编写方法:
具体代码:
名称:知乎去跳转
规则类型:重定向请求
匹配类型:正则表达式
匹配规则:^https?://link\.zhihu\.com/\?target=(.*)
执行类型:常规
重定向至:$1
3.4、图片反盗链
一些网站会设置自己的图片不能在站外显示。
这其实是请求头 referer 的问题,只需要修改将网站的 referer 设置为空,又或者设置为该网站的根域名即可。
3.5、网站首选语言
一些网站会提供多种语言,但默认会匹配浏览器的语言。
而如果你的浏览器是中文,但又想网站优先展示英文的话,那么可以通过修改请求头 accept-language 来实现。
3.6、修改浏览器 UA
修改浏览器 User-Agent 是一个常用的操作。
一般分为“全局 UA 修改”和“网站 UA 修改”。全局 UA 修改会影响所有网站,网站 UA 修改,则只影响部分网页。
全局 UA 修改:
网站 UA 修改:
3.7、修改访问 IP
网站 Z-library 有每天 5 本书的下载限制。
想要下载则需要再等个 24 小时,但通过消息头 x-forwarded-for 可以修改访问 IP,由此绕过 IP 检测。
百度搜索“IP”,可查看你当前的 IP,比如 183.48.70.25。
然后把 IP 输入到“头内容”,任意修改其中的一个数值,只需要数值在 0~255 之间即可。
比如把 183.48.70.25 改为 修改为 183.48.70.26 或者 183.48.71.25,又或者 183.49.70.25 都可以。
这样你就会以“新身份”访问了。
3.8、修改响应头
在文章《S04-多重搜索》中,奶酪分享了一个多重搜索技巧。
但百度、谷歌不允许通过 iframe 框架来将内嵌到网页,好在通过修改响应头 x-frame-options 可以解决。
只需要将“头内容”修改为 ALLOWALL 即可。
启用前的效果:
启用后的效果:
最后,附上奶酪的完整配置:https://www.lanzouo.com/b07o2tazi
结尾
值得一说的是。
浏览器消息头的权限很高,请不要随意使用来路不明的规则。
如果你有什么其它的自定义需求,你可以在评论区留言,我会尽可能的帮你写规则。
最后,回复关键字 i39,可获取奶酪的所有规则。
最后
- 欢迎关注奶酪 公众号 获取奶酪所有的原创资源,回复文章编号,比如 i38 就可获取对应的资源。
- 欢迎订阅我的 “奶酪书签专业版”,15年沉淀,超过 5000 个分类井条有序的好用实用 html 网站书签。
- 本文由「奔跑中的奶酪」原创创作,欢迎订阅、留言和 打赏,也欢迎引用和转载,但要注明出处。
奶大,CSDN的去跳转有吗
如何对单独的某一个网站关闭这个扩展的功能呢?有的网站用了这个打开后不能显示图片,必须关了这个扩展才可以,例如javbus的论坛。
https://www.runningcheese.com/go?url=https://github.com/runningcheese/RunningCheese-Firefox/tree/master/Rules
404了,麻烦维护一下
请问你的F12 开发者工具怎么是中文的
你可能没看清楚,文章用的谷歌标志,但下方浏览器截图是火狐浏览器。谷歌浏览器是英文的。