如何在不影响用户界面的情况下实现控制台乱码?

想在某小说网站"免费"下载一篇小说, 结果无意间发现这个网站能做到网页内展示正常, 但控制台却是乱码的操作 这是对应网站的地址

image.png

这种问题除非带图, 否则不好描述, 所以百度,google,bing,copilot都没结果.

想知道如何实现这种高端功能,

阅读 1.7k
avatarAI BotBETA

实现网页内显示正常,但控制台显示乱码的功能,通常涉及到在服务器端或客户端进行一些特定的处理。这种处理可以让页面上的内容以一种编码方式显示(例如UTF-8),而在浏览器的开发者工具的控制台中以另一种编码方式(例如乱码)显示。

下面是一种可能的方法:

1. 使用特殊的字符编码

你可以使用一种特殊的字符编码来显示你的内容。这种编码在网页上显示正常,但在控制台中显示为乱码。例如,你可以使用Base64编码。

2. JavaScript处理

在JavaScript中,你可以捕获和控制台输出的内容,并将其转换为乱码。例如,你可以使用console.log来输出乱码。

let text = "Hello, World!";
let encodedText = window.btoa(unescape(encodeURIComponent(text))); // 使用Base64编码
console.log(encodedText); // 在控制台输出乱码

3. CSS样式隐藏控制台输出

使用CSS样式来隐藏或改变控制台输出的外观,使其看起来像是乱码。例如,你可以使用font-familycolor属性来改变输出文本的外观。

4. 服务器端处理

在服务器端,你可以根据请求的来源(例如是否是浏览器的开发者工具)来返回不同的内容。例如,你可以检查请求的User-Agent头部来判断是否是开发者工具。

注意事项:

  • 这种做法可能会对用户造成困惑,因为他们可能期望在控制台中看到有意义的信息来帮助他们调试。
  • 这种方法可能会违反某些网站的使用条款或政策,特别是如果它用于隐藏或混淆信息。
  • 在实际开发中,通常不建议故意让控制台显示乱码,因为这可能会降低用户体验并增加调试难度。

总的来说,实现这种功能需要一定的编程知识和对字符编码、HTTP请求和JavaScript控制台的理解。但是,请注意,这种做法可能会对用户和开发者造成不便,因此在实际开发中并不推荐。

4 个回答

canvas 画图就行了吧,控制台里是 encode 数据,decode 之后画到 canvas 里。

发个地址来康康

看起来像是编码问题,切换一下编码格式应该就会正确展示了。
可以看一下 network 面板中返回的内容体是什么编码格式。


看了一下网站,确实是字体替换的方式。移除了 .muye-reader-box 元素上面的 DNMrHsV173Pd4pgy 字体样式就不能正常展示文章内容了。

图片.png

图片.png

之前反爬虫有看到过这样的处理方式 👉 斗鱼关注人数爬取 ── 字体反爬的攻与防 - CJ Ting's Blog

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题