聚BT浏览器扩展自定义网站从入门到精通1-HTTP请求类型GET、GET_CUSTOM

我想请讲解下,聚BT浏览器扩展自定义网站从入门到精通1-HTTP请求类型GET、GET_CUSTOM
最新回答
不爱。就_滚_

2024-07-01 02:58:35

探索聚BT浏览器扩展的无限可能:自定义网站开发全解析


聚BT浏览器扩展以其强大的二次开发功能,为个性化体验打开了一扇新窗口。首先,对CSS和JS基础有所了解的开发者可以轻松上手,而新手朋友们也不必担心,丰富的社区支持将助你快速入门。在开始之前,确保你熟悉了技术架构的基石。


自定义网站的核心在于两个关键组件:searcher(负责搜索功能调用)和parser(解析搜索结果)。在HTTP请求的世界里,GET和POST是你的主要伙伴,适应了大部分网站的需求。然而,面对AJAX、加密和iframe等复杂场景,你需要区分五种请求类型:GET缺省、GET自定义、新标签页、新标签页-iframe以及POST请求。


GET的魔法: 通常,对于直接返回搜索结果的网站,如动漫花园,只需使用GET请求。搜索代码示例:



try {
let response = await httpGet(url);
return response.body;
} catch (err) {
console.info("searcher.js err: " + JSON.stringify(err, Object.getOwnPropertyNames(err), 2));
return null;
}

对于GET类型的网站,你主要关注的是parser的定制,比如动漫花园的例子:



function dmhyParser(content, url, source, keyword) {
// ... parser函数体 ...
return hrefs;
}

但当遇到GET-自定义(GET_CUSTOM)的情况,比如遇到非UTF-8(如GBK)编码的URL,系统默认的GET可能就显得力不从心了。这时,你需要编写一个定制的searcher来解决问题,如下面的示例:



try {
let utf8Keyword = encodeURIComponent(keyword);
let gbkKeyword = GBK.URI.encodeURI(keyword);
url = url.replace(utf8Keyword, gbkKeyword);
// ...其他代码...
return gbkResponse;
} catch (err) {
console.info("err: " + JSON.stringify(err, ...));
return null;
}

这只是GET_CUSTOM的冰山一角,更多的挑战等待你去探索。接下来,我们将深入探讨POST请求、新标签页的运用,以及如何在包含iframe的页面中游刃有余。


每个阶段的学习都是对技能的提升,让我们一起踏上这个充满创意和定制乐趣的旅程,让聚BT浏览器扩展在你的个性世界中熠熠生辉。继续关注,解锁更多自定义网站开发的奥秘吧!