Node.js发送HTTP客户端请求并显示响应结果的方法示例

 更新时间:2017年04月12日 15:02:52   作者:MIN飞翔  
这篇文章主要介绍了Node.js发送HTTP客户端请求并显示响应结果的方法,结合完整实例形式分析了nodejs发送http请求及响应的相关操作技巧,需要的朋友可以参考下

本文实例讲述了Node.js发送HTTP客户端请求并显示响应结果的方法。分享给大家供大家参考,具体如下:

wget.js:发送HTTP客户端请求并显示响应的各种结果

options对象描述了将要发出的请求。

data事件在数据到达时被触发,error事件在发生错误时被触发。

HTTP请求中的数据格式通过MIME协议来声明,例如,提交HTML表单时它的Content-Type会被设置成multipart/form-data

要在HTTP客户端请求中发送数据,只需调用.write方法并写入符合规范的数据(见第二个例子)。

var http = require('http');
var url = require('url');
var util = require('util');
var argUrl = process.argv[2];
var parsedUrl = url.parse(argUrl, true);
var options = {host: null, port: -1, path: null, method: 'GET'};
options.host = parsedUrl.hostname;
options.port = parsedUrl.port;
options.path = parsedUrl.pathname;
if (parsedUrl.search) options.path += "?" + parsedUrl.search;
var req = http.request(options, function(res){
  util.log('STATUS: ' + res.statusCode);
  util.log('HEADERS: ' + util.inspect(res.headers));
  res.setEncoding('utf8');
  res.on('data', function(chunk){
    util.log('BODY: ' + chunk);
  });
  res.on('error', function(err){
    util.log('RESPONSE ERROR: ' + err);
  });
});
req.on('error', function(err){
  util.log('REQUEST ERROR: ' + err);
});
req.end();

node wget.js http://example.com

又一个发送客户端httprequest例子:使用req.write发送数据

var http = require('http');
var querystring = require('querystring');
var contents = querystring.stringify({
  name: 'joey',
  email: 'joey@joey.com',
  address: 'joey university'
});
var options = {
  host: 'www.joey.com',
  path: '/application/node/post.php',
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': contents.length
  }
};
var req = http.request(options, function(res){
  res.setEncoding('uft8');
  res.on('data', function(data){
    console.log(data);
  });
});
req.write(contents);
req.end(); //不能漏掉,结束请求,否则服务器将不会收到信息。

希望本文所述对大家nodejs序设计有所帮助。

相关文章

  • Node中文件断点续传原理和方法总结

    Node中文件断点续传原理和方法总结

    在之前做过一个小项目,涉及到了文件上传,在大文件上面使用了断点续传,降低了服务器方面的压力,现在小编把Node中文件断点续传原理和方法总结分享给大家,感兴趣的朋友一起看看吧
    2022-01-01
  • Nodejs脚本实现批量修改文件

    Nodejs脚本实现批量修改文件

    当我们想要更改一下所有的文件,如何可以在修改到这些文件的同时又能实现节省时间呢,通过这篇文章我们将来学习一下怎么通过这个脚本来实现这个功能,希望对大家有所帮助
    2023-11-11
  • Node.js多进程的方法与参数实例说明

    Node.js多进程的方法与参数实例说明

    这篇文章主要介绍了Node.js多进程的方法与参数实例说明,Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能,需要的朋友可以参考下
    2023-05-05
  • Node.js+pm2+ssh2模块实现简单的自动化部署脚本

    Node.js+pm2+ssh2模块实现简单的自动化部署脚本

    本文将介绍如何使用Node.js和ssh2模块实现一个简单的部署脚本,将本地的项目文件上传到远程服务器上,我们将使用dotenv模块来管理环境变量,以及child_process模块来执行命令行操作
    2023-10-10
  • Node.js服务器开启Gzip压缩教程

    Node.js服务器开启Gzip压缩教程

    开启网站的 gzip 压缩功能,通常可以高达70%,也就是说,如果你的网页有30K,压缩之后就变成9K, 对于大部分网站,显然可以明显提高浏览速度(注:需要浏览器支持)。
    2017-08-08
  • 整理 node-sass 安装失败的原因及解决办法(小结)

    整理 node-sass 安装失败的原因及解决办法(小结)

    这篇文章主要介绍了整理 node-sass 安装失败的原因及解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • node-sass一直安装不上、安装失败的原因分析

    node-sass一直安装不上、安装失败的原因分析

    一个项目一直以来运行都是正常的,今天运行就突然报错了,错误如下: 错误大致意思就是node-sass安装失败,下面这篇文章主要给大家介绍了关于node-sass一直安装不上、安装失败的原因分析,需要的朋友可以参考下
    2023-02-02
  • 使用PM2实现高效的应用监控与管理功能

    使用PM2实现高效的应用监控与管理功能

    PM2 是一个流行的进程管理器,用于 Node.js 应用程序,它支持应用程序的负载均衡、自动重启、日志管理、监控以及多环境管理等功能,本文给大家介绍了如何使用PM2实现高效的应用监控与管理功能,需要的朋友可以参考下
    2024-02-02
  • Nodejs使用mysql2操作数据库的方法完整讲解

    Nodejs使用mysql2操作数据库的方法完整讲解

    MySQL2是一个基于Node.js的MySQL数据库驱动程序,它是MySQL官方推荐的驱动之一,下面这篇文章主要给大家介绍了关于Nodejs使用mysql2操作数据库的相关资料,需要的朋友可以参考下
    2024-01-01
  • Node.js调试技术总结分享

    Node.js调试技术总结分享

    Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome's JavaScript runtime,也就是说,实际上它是对Google V8引擎(应用于Google Chrome浏览器)进行了封装。 今天介绍Node.js调式目前有几种技术,需要的朋友可以参考下。
    2017-03-03

最新评论