node如何请求服务器? - 网站

node如何请求服务器?

分类:Node.js常见问题 · 发布时间:2019-09-10 11:36 · 阅读:2071

使用HTTP模块的request方法对服务器进行请求。在HTTP连接中报文分为请求(request)和响应(response)两种。下面我们来看一下node如何请求服务器。

nodejs请求服务器(request):

使用node.js对服务器进行请求http.request

通过Node.js本身的事件驱动性(通过事件监听on()),可以处理请求后返回的数据。

const options = {
  hostname: 'localhost',
  port: 8080,
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
};
//设置属性内容
const req = http.request(options, (res) => {
  console.log(`状态码: ${res.statusCode}`);
  console.log(`响应头: ${JSON.stringify(res.headers)}`);
  res.setEncoding('utf8');
    //设置格式
  res.on('data', (chunk) => {
    console.log(`响应主体: ${chunk}`);
    //${}模版字符串语法
  });
    //监听data事件,并且将获得到的数据进行打印
  res.on('end', () => {
    console.log('响应中已无数据.');
  });
    //监听end事件,响应结束时弹出提示
});

req.on('error', (e) => {
  console.error(`请求遇到问题: ${e.message}`);
});
    //监听error事件,响应出错时弹出错误信息

通过write函数可以向监听服务器端发送数据

服务端响应

新建一个http服务器并且在8080端口上进行监听。

http.createServer(function (req, response){
   // 定义了一个post变量,用于暂存请求体的信息
    var post = '';     

    // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
    req.on('data', function(chunk){    
        post += chunk;
    });

    // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
    req.on('end', function(){    
        post = querystring.parse(post);
        console.log(post);
    });
    //读取文件下的值并且将获得数据写入响应,并结束响应。
 fs.readFile('data.txt', function readData(err, data) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end(data);
  });
}).listen(8080, '127.0.0.1');

关于请求方面的问题

1.作为后台与前台的一种数据交流方式,所有的http模块使用的前提就是要有一个后台端口,并且按照后台的要求填写headers方面的信息,如Cookie,host,Referer,Origin。然后option中的host,path,以及protocol是http还是https。

2.传输的数据(req.write)必须是流或者是字符串,所以注意参数的类型

标签:
node

相关文章

如何设置 nodejs 的环境变量

在前端开发过程中,我们需要对 application 运行的环境进行设置,一般会包括开发环境development,生产环境production,每个环境可以对应不同的一些配置,例如不同环境下请求的地址...

谈谈Node.js与JavaScript的差异

Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行。Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台。

npm install安装报错怎么解决?

解决方法:1、报“operation not permitted”错误,通过“npm i 包名 --no-optional”解决;2、报“Missing: chromedriver”错误,表示没有安装chromedriver,安装一下即可。

怎么使用npm下载vue.js?

使用npm下载vue.js的方法:1、安装node.js和npm;2、安装cnpm;3、使用命令cnpm install -g vue-cli来安装即可。

vue.js和node.js是什么关系?

vue.js和node.js并没有关系,vue.js是前端框架,算是js的三大框架之一吧,node.js是后端开发语言,同php、java、c#一样的。但是他们可以配合使用。

返回分类 返回首页