Node.js发送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(); //不能漏掉,结束请求,否则服务器将不会收到信息。

(0)

相关推荐

  • node.js编译生成错误提示fatal error LNK1112/1123的解决方法

    编译生成可能遇到的问题 [1]fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 原因:win7下的64位系统,在运行程序的时候,需要的DLL必须是64位 ...

  • 五个提高Node.js应用性能技巧

    如果你的 node 服务器前面没有 nginx, 那么你可能做错了.- Bryan Hughes Node.js 是使用 最流行的语言- JavaScript 构建服务器端应用的领先工具 .由于可以同 ...

  • ubuntu下如何快速搭建 Node.js 开发环境

    Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用. nvm是nodejs版本管理工具.可以在多个nodejs版本中进行切换,降 ...

  • windows下node.js的安装及express使用命令配置

    node.js.npm.express的安装及express使用命令的配置 如何退出nodejs终端命令行 操作方法 01 在node.js的官网https://nodejs.org/下载安装程,双击 ...

  • node.js怎样运行JS文件呢

    Node给JS提供了一个运行环境,所以就有了nodeJS,今天咪咪我就来给大家分享一下node.js怎样运行JS文件,一起来看看吧! 操作方法 01 首先,安装nodeJS,安装过程没啥特殊的地方.安 ...

  • debian5安装node.js步骤图解

    node.js安装环境需要python的版本是2.6或者2.7以后的,而在debian5上默认的python版本是2.5的,所以第一步得先升级python版本,然后才能安装node.js。 1 安装编 ...

  • 阿里云Node.js环境

    简介 Node App Engine是基于Node.js v0.5.5开发的应用托管服务, 可提供node.js应用的在线部署功能. 使用注意 1. 系统node使用v0.5.5版,使用时请注意与0. ...

  • edge浏览器中的发送请勿跟踪请求怎么开启?

    禁止追踪能够防止第三方网站跟踪用户活动,通过禁止跟踪功能,用户能够检测到跨站跟踪.Cookies跟踪等行为.一起来了解下吧. 1.在计算机桌面上的Edge浏览器程序图标双击鼠标左键,将其打开运行.如图 ...

  • 电脑怎么开启"向Internet浏览器中访问的站点发送请勿跟踪请求"功能

    开启向Internet浏览器发送被访问站点请勿跟踪请求的功能,是为了保护个人隐私考虑,那么今天小编跟大家分享下电脑怎么开启"向Internet浏览器中访问的站点发送请勿跟踪请求"功 ...