首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【node】图片验证码(svg-captcha)

【node】图片验证码(svg-captcha)

作者头像
fruge365
发布2025-12-15 10:27:52
发布2025-12-15 10:27:52
1940
举报

新建 temp文件夹

在这里插入图片描述
在这里插入图片描述

生成package.json文件

使用vscode打开temp文件夹,并在终端输入命令npm init -y 并回车生成package.json文件

在这里插入图片描述
在这里插入图片描述

安装依赖

代码语言:javascript
复制
npm i svg-captcha -S

新建index.js文件

复制下面代码

代码语言:javascript
复制
// 引入svg-captcha
const svgCaptcha = require("svg-captcha");

// 生成验证码
const captcha = svgCaptcha.create({
  size: 3, // 字符数
  ignoreChars: "zxcvbnmasdfghjklqwertyuiop", // 过滤字符
  noise: 3, // 干扰线条数
  color: true,
  background: "#fff", // 背景颜色
});

// captcha 是个对象,text是验证码文字,data是验证码
console.log(captcha);

终端输入命令node index.js运行 这个时候验证码还只能打印出来,看不到

创建http服务

完整代码

代码语言:javascript
复制
// 引入svg-captcha
const svgCaptcha = require("svg-captcha");
const http = require("http");

const server = http.createServer((req, res) => {
  // req 是请求  res是响应
  const captcha = svgCaptcha.create({
    size: 3, // 字符数
    ignoreChars: "zxcvbnmasdfghjklqwertyuiop", // 过滤字符
    noise: 3, // 干扰线条数
    color: true,
    background: "#fff", // 背景颜色
  });

  // 需要加请求头否则不能显示,请求头可以设置为两种,第二种后端常用
    res.setHeader("content-type", "text/html;charset=utf-8;");
//   res.setHeader("content-type", "image/svg+xml;");
  res.end(captcha.data);
});

// 设置一个没有使用的端口号,如果报错尝试换个端口号
server.listen(3003, () => {
  console.log("启动成功,http://localhost:3003");
});

终端输入命令node index.js运行 浏览器访问查看效果

效果

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新建 temp文件夹
  • 生成package.json文件
  • 安装依赖
  • 新建index.js文件
  • 创建http服务
  • 效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档