node.js是一个基于chrome v8 javascript引擎的开源、跨平台的javascript运行环境,使javascript可以脱离浏览器运行。它提供了很多强大的模块,使web开发更轻松。其中,request模块是一个使用最广泛的http模块,可以用来发送http/https请求。
一、安装request
你可以在你的项目目录下面使用如下命令安装request:
npm install request
二、使用request
在你的脚本中引用request模块:
var request = require('request');
request() 方法是这个模块最常用的方法,下面是一个简单的request()请求:
request('https://www.baidu.com', function (error, response, body) { console.log('error:', error); //打印错误信息 console.log('statuscode:', response.statuscode); //打印响应状态码 console.log('body:', body); //打印html正文});
这里需要注意的是,request()方法第一个参数为请求url,第二个参数为回调函数。回调函数有三个参数,分别是请求出错时的错误信息,响应对象和响应内容的字符串形式。
请求头
你也可以使用 request() 方法传递一些请求头。
var options = { url: 'https://api.github.com/repos/request/request', headers: { 'user-agent': 'request' }}; function callback(error, response, body) { if (!error && response.statuscode == 200) { const info = json.parse(body); console.log(info.stargazers_count + " stars"); console.log(info.forks_count + " forks"); }} request(options, callback);
在这个例子中,我们在请求头部传递了一个user-agent头,以表示请求的来源。
post请求
向服务器发送参数,使用http的post方法是最常见的请求。request()方法也支持post请求。
var request = require('request');request.post('http://service.com/upload', {form:{key:'value'}}, function(error, response, body) { //上传文件或者其他操作});
使用request()方法发送post请求时,第一个参数表示请求的url,而第二个参数则为post请求时需要发送的参数。在这里,我们可以看到我们向服务器发送了一个键值(key-value)对,变量名为key,变量值为value。
get请求
get请求是另一个简单请求的例子。
var request = require('request');request.get('http://www.baidu.com', function(error, response, body) { console.log(body);});
在get请求中,我们可以简单地传递请求的url,然后使用回调函数获取响应正文。
三、总结
在这篇文章中,我们介绍了node.js模块之一的request,在web开发中发送http/https请求是一项非常重要的任务。使用request模块,可以轻松地向服务器发送请求以及获取响应。通过本篇文章,你可以学习如何在node.js脚本中安装使用request模块,并了解如何构建和发送基本的get、post请求和请求头。
以上就是nodejs用法request的详细内容。