这是北大法宝的界面,我搜索一项法律,比如说刑法,老是要携带不必要参数
示例链接:
https://www.pkulaw.com/chl/937235cafaf2a66fbdfb.html?keyword=商标法
期望使用 surge 重定向后的效果:
https://www.pkulaw.com/chl/937235cafaf2a66fbdfb.html?keyword=
或者
https://www.pkulaw.com/chl/937235cafaf2a66fbdfb.html
注意:其 https://www.pkulaw.com/chl/ 这一段是不会会变的 只有 937235cafaf2a66fbdfb 会根据不同法律变化 .html 不变 。 所以关键就是不能重复匹配,可以通过 keywork 字段是否存在作为依据。
测试:
https://www.pkulaw.com/chl/4dce14765f4265f1bdfb.html?keyword=网络安全法
答案:
https://www.pkulaw.com/chl/4dce14765f4265f1bdfb.html
OR
https://www.pkulaw.com/chl/4dce14765f4265f1bdfb.html?keyword=
1
ladit 2022-03-20 14:20:15 +08:00 1
可以利用 Script 功能:
``` [Script] pkulaw = type=http-request,pattern=https://www.pkulaw.com/chl.+ script-path=pkulaw.js ``` ```javascript // pkulaw.js $request.url = $request.url.replace(/\?keyword=.+/, '') $done({$request}) ``` |
2
xingHI OP @ladit 非常感谢您的答复,让我看到了解决这个问题的新思路
我做测试一直没有成功,我刚刚把您的 js 文件上传到了 github 并且稍做修改,还是没有成功,已经对 https 进行解密 [Script] pkulaw = type=http-request,pattern=^https?:\/\/www.pkulaw.com/chl/*,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/dmsusu/mytest/main/pkulaw.js github 上的 js 文件: $request.url = $request.url.replace(/\?keyword=*/, ''); $done({$request}); 不知道是不是我设置的问题 |
4
ladit 2022-03-21 00:20:36 +08:00 1
@xingHI 我重新看了一下,这样写,并打开 HTTPS 解密,可以实现你想要的效果。
``` [Script] http-response ^https?:\/\/www\.pkulaw\.com\/chl\/.+ requires-body=true, script-path=pkulaw.js [MITM] hostname = www.pkulaw.com ``` ```pkulaw.js if ($request.url.includes('keyword=')) { $done({ status: 307, headers: { 'Location': $request.url.replace(/\?keyword=.+/, '') } }) } $done({}) ``` |