奔跑中的奶酪

电子书网站只能下 5 本书,有办法解决吗?

导读

电子书网站只能下 5 本书,有办法解决吗?

上网时经常会遇到这样的情况。

就是如果你不是会员,又或者没有登陆,那么每天最多只能下载 5 个内容,要想继续下载就要再等个 24 小时。

有没有办法解除这样的限制?

有!而且,奶酪今天不单单要告诉你办法,还要告诉你它的原理,那就是“浏览器消息头”

一、浏览器消息头

浏览器消息头是什么?

浏览器消息头原名为 HTTP Header,来源于 HTTP 协议HTTP Header 可以看作是给服务器和浏览器的附言

它的作用,是类似于食品包装上的“配料表”。

i39_消息头

HTTP 消息头,可分为请求头响应头

当你按下快捷键 F12,打开浏览器开发者工具,你就可以看到网页的请求头和响应头。

Firefox 浏览器:

i39_消息头3

Chrome 浏览器:

i39_消息头2

二、自定义消息头

也就是说,通过修改“请求头”和“消息头”,我们可以指定浏览器的返回结果。

1.1、修改方法

修改扩展推荐 Header Editor

它不但支持多个浏览器,支持多种消息头类型,而且还支持“自定义函数”,这让它的功能变得十分强大。

i39_消息头修改

1.2、正则表达式

不过,要用好 Header Editor,那你就需要知道“正则表达式”。

正则表达式说难也难,说简单与简单。

下面是我总结的一些常用的正则表达式,知道了这些,你也就算是入门“正则表达式”了。

字符 说明
. 匹配任意一个字符。
* 前面的字符出现 0 次或无限次,即可有可无。
+ 前面的字符出现 1 次或无限次,即最少一次。
? 前面的字符出现 0 次或 1 次,即要么不出现,要么只出现一次。
^ 字符串开头。
$ 字符串结尾。
( ) 字符分组,匹配括号内的表达式,即表示为一组。
\| 或运算符,匹配符号前面或后面的字符。
\ 转义字符,用于匹配一些保留的字符,比如 [ ] ( ) . * - + ? ^ $ \ \|
注: 斜线 / 无须转义,替换结果也不需要转义。
$1 匹配正则表达式里小括号内容, $1 为第一组,$2 为第二,以此类推。

更详细正则手册:https://github.com/ziishaned/learn-regex

三、规则分享

下面我们以一些实际的案例来讲解规则应该怎么写。

3.1、网页重定向

比如蓝奏云的链接 lanzous.com 已无法打开,而 lanzouv.com 可以正常打开,我们可以给它写一个重定向规则。

编写方法:

i39_重定向

具体代码:

名称:蓝奏云链接 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= 来让图片在浏览器中预览。

i39_仅在地址栏

如果是用上面的重定向规则,那么会导致小红书网页的图片无法显示,这里我们需要用“自定义函数”来解决。

设置“仅当图片在地址栏打开”时才启用规则。

i39_小红书

具体代码:

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、网页去跳转

现在很多网站都会有“站外链接跳转”,需要“二次点击”才能访问,特别地影响浏览体验,我们以知乎为例。

编写方法:

i39_去跳转

具体代码:

名称:知乎去跳转
规则类型:重定向请求
匹配类型:正则表达式
匹配规则:^https?://link\.zhihu\.com/\?target=(.*)
执行类型:常规
重定向至:$1

3.4、图片反盗链

一些网站会设置自己的图片不能在站外显示。

这其实是请求头 referer 的问题,只需要修改将网站的 referer 设置为空,又或者设置为该网站的根域名即可。

i39_referer

3.5、网站首选语言

一些网站会提供多种语言,但默认会匹配浏览器的语言。

而如果你的浏览器是中文,但又想网站优先展示英文的话,那么可以通过修改请求头 accept-language 来实现。

i39_accept-language

3.6、修改浏览器 UA

修改浏览器 User-Agent 是一个常用的操作。

一般分为“全局 UA 修改”和“网站 UA 修改”。全局 UA 修改会影响所有网站,网站 UA 修改,则只影响部分网页。

全局 UA 修改:

i39_UA

网站 UA 修改:

i39_UA

3.7、修改访问 IP

网站 Z-library 有每天 5 本书的下载限制。

想要下载则需要再等个 24 小时,但通过消息头 x-forwarded-for 可以修改访问 IP,由此绕过 IP 检测。

i39_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 即可。

i39_iframe

启用前的效果:

i39_iframe2

启用后的效果:

i39_iframe2

结尾

值得一说的是。

浏览器消息头的权限很高,请不要随意使用来路不明的规则。

如果你有什么其它的自定义需求,你可以在评论区留言,我会尽可能的帮你写规则。

最后,回复关键字 i39,可获取奶酪的所有规则。

最后

  1. 欢迎关注奶酪 公众号 获取奶酪所有的原创资源,回复文章编号,比如 i39 就可获取对应的资源。
  2. 欢迎订阅我的 “奶酪书签专业版”,15年沉淀,超过 5000 个分类井条有序的好用实用 html 网站书签。
  3. 本文由「奔跑中的奶酪」原创创作,欢迎订阅、留言和 打赏,也欢迎引用和转载,但要注明出处。
注:本文由 奔跑中的奶酪 作者:奔跑中的奶酪 发表,其版权均为作者所有,如需转载,请注明作者名字以及文章来源。
70
avataravatar

评论:

7 条评论,访客:5 条,站长:0 条
  1. avatar
    BNN-LIB发布于: 

    奶大,CSDN的去跳转有吗

  2. 万劫千秋
    万劫千秋发布于: 

    如何对单独的某一个网站关闭这个扩展的功能呢?有的网站用了这个打开后不能显示图片,必须关了这个扩展才可以,例如javbus的论坛。

  3. 认真瞄
    认真瞄发布于: 

    请问你的F12 开发者工具怎么是中文的

    • 一二三四五
      一二三四五发布于: 

      你可能没看清楚,文章用的谷歌标志,但下方浏览器截图是火狐浏览器。谷歌浏览器是英文的。

进行回复 取消回复