下面是关于node.js中http模块和url模块的简单介绍:
http模块简介
http模块是Node.js中的内置模块,提供了创建HTTP服务器和HTTP客户端的工具。可以用它发送HTTP请求、接收HTTP响应以及创建HTTP服务器和客户端。
创建一个简单的HTTP服务器
下面是创建一个简单的HTTP服务器的示例代码:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('Hello World!');
res.end();
}).listen(8080);
console.log('Server running at http://localhost:8080/');
这段代码会创建一个HTTP服务器,监听8080端口,并在浏览器访问 http://localhost:8080/ 时返回 "Hello World!" 字符串。
发送HTTP请求
下面是使用http模块发送HTTP请求的示例代码:
const http = require('http');
http.get('http://www.example.com', (res) => {
const statusCode = res.statusCode;
const contentType = res.headers['content-type'];
let error;
if (statusCode !== 200) {
error = new Error(`请求失败:状态码为 ${statusCode}`);
} else if (!/^text\/html/.test(contentType)) {
error = new Error(`无效的内容类型:${contentType}`);
}
if (error) {
console.error(error.message);
// 消耗响应数据以释放内存
res.resume();
return;
}
res.setEncoding('utf8');
let rawData = '';
res.on('data', (chunk) => { rawData += chunk; });
res.on('end', () => {
try {
console.log(rawData);
} catch (e) {
console.error(e.message);
}
});
}).on('error', (e) => {
console.error(`请求遇到问题:${e.message}`);
});
这段代码会发送一个Get请求到 http://www.example.com,并在控制台输出响应数据。
url模块简介
url模块是Node.js的内置模块,提供了一系列与URL相关的实用工具函数,比如解析URL、格式化URL等。
解析URL
下面是使用url模块解析URL的示例代码:
const url = require('url');
const str = 'http://www.example.com/path?foo=bar&baz=qux';
const parsedUrl = url.parse(str, true);
console.log(parsedUrl.protocol); // 输出 'http:'
console.log(parsedUrl.host); // 输出 'www.example.com'
console.log(parsedUrl.pathname); // 输出 '/path'
console.log(parsedUrl.query); // 输出 { foo: 'bar', baz: 'qux' }
这段代码会解析一个URL字符串,并使用console.log方法输出其中的各个部分。
格式化URL
下面是使用url模块格式化URL的示例代码:
const url = require('url');
const parsedUrl = {
protocol: 'http:',
hostname: 'www.example.com',
pathname: '/path',
query: { foo: 'bar', baz: 'qux' }
};
const formattedUrl = url.format(parsedUrl);
console.log(formattedUrl);
// 输出 'http://www.example.com/path?foo=bar&baz=qux'
这段代码会使用url模块格式化一个URL对象,并使用console.log方法输出格式化后的URL字符串。
希望这些内容对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js中http模块和url模块的简单介绍 - Python技术站