const { translate } = require('bing-translate-api'); const http = require('http'); const fs = require('fs'); const path = require('path'); const server = http.createServer(); server.on('request', (req, res) => { // 处理静态文件请求 if (req.method === 'GET' && req.url.startsWith('/static/')) { const filePath = path.join(__dirname, req.url); const stream = fs.createReadStream(filePath); stream.pipe(res); } else if (req.method === 'POST') { // 处理 POST 请求 let body = ''; req.on('data', (chunk) => { body += chunk; }); req.on('end', () => { try { const data = JSON.parse(body); res.writeHead(200, { 'Content-Type': 'application/json' }); console.log(JSON.stringify(data.text)); result = translate(JSON.stringify(data.text), null, 'zh-Hans').then(resp => { console.log(resp.translation); res.write(JSON.stringify(resp.translation)) res.end(); }).catch(err => { console.error(err); }); } catch (error) { res.writeHead(400, { 'Content-Type': 'text/plain' }); res.write('Invalid JSON data'); res.end(); } }); } else { // 处理动态请求 res.writeHead(200, { 'Content-Type': 'text/plain' }); res.write('Hello World!'); res.end(); } }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
时间: 2024-04-27 12:20:00 浏览: 156
这是一个使用 Node.js 创建的 HTTP 服务器。它可以处理静态文件请求和 POST 请求。当收到 POST 请求时,它会解析请求体中的 JSON 数据,并使用 bing-translate-api 库将其翻译成中文。最后,它将翻译结果作为 JSON 数据返回给客户端。如果收到的不是静态文件请求或 POST 请求,它会返回一个 "Hello World!" 的字符串。该服务器运行在本地主机的 3000 端口。
阅读全文