下面就是关于“NodeJS收发GET和POST请求的示例代码”的详细攻略:
1. NodeJS 监听 HTTP 请求
在 NodeJS 中,可以通过 http
模块来做 web 服务器,这样就可以监听 HTTP 请求并进行相应的处理,从而实现接收和发送请求的功能,代码如下所示:
const http = require('http');
const server = http.createServer((request, response) => {
// 打印请求方法和请求 url
console.log(request.method, request.url);
// 设置响应头
response.setHeader('Content-Type', 'text/plain;charset=utf-8');
// 发送响应数据
response.end('Hello World');
});
server.listen(8888, () => {
console.log('Server is running at http://localhost:8888');
});
通过上述代码,我们创建了一个 HTTP 服务器,并且监听了8888端口。当有一个新的请求到来时,执行回调函数,通过 request
对象可以获取请求的方法和 URL,通过 response
对象可以设置响应的数据和响应头,并且发送响应。
2. NodeJS 接收 GET 请求
对于 GET 请求,可以通过 qs
模块来解析 URL 中的参数,并且通过 request
对象的 url
属性获取到请求的 URL,从而实现接收 GET 请求的功能,代码如下所示:
const http = require('http');
const qs = require('querystring');
const server = http.createServer((request, response) => {
// 获取 URL 中的参数
const params = qs.parse(request.url.split('?')[1]);
// 设置响应头
response.setHeader('Content-Type', 'text/plain;charset=utf-8');
// 发送响应数据
response.end(`Hello ${params.name}`);
});
server.listen(8888, () => {
console.log('Server is running at http://localhost:8888');
});
通过 qs.parse
方法解析出 URL 中的参数,然后通过 ${params.name}
获取参数值并拼接成响应数据。
3. NodeJS 接收 POST 请求
对于 POST 请求,可以通过 request
对象的 data
事件来监听数据的传输,并且通过 Buffer.concat
来将多次数据块拼接成完整的数据。然后使用 querystring.parse
对数据进行解析并进行处理,从而实现接收 POST 请求的功能,代码如下所示:
const http = require('http');
const qs = require('querystring');
const server = http.createServer((request, response) => {
// 接收 POST 请求数据
let postData = '';
request.on('data', (chunk) => {
postData += chunk.toString();
});
request.on('end', () => {
const params = qs.parse(postData);
// 设置响应头
response.setHeader('Content-Type', 'text/plain;charset=utf-8');
// 发送响应数据
response.end(`Hello ${params.name}`);
});
});
server.listen(8888, () => {
console.log('Server is running at http://localhost:8888');
});
通过 request.on('data')
方法监听数据传输,并通过 chunk.toString()
方法将数据块拼接成完整的数据,通过 qs.parse
将数据进行解析并进行处理,从而实现接收 POST 请求的功能。
以上就是关于 NodeJS 收发 GET 和 POST 请求的示例代码的攻略,希望可以帮助您理解并实现相关功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NodeJS收发GET和POST请求的示例代码 - Python技术站