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


Posted in Javascript onApril 12, 2017

本文实例讲述了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

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

又一个发送客户端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序设计有所帮助。

Javascript 相关文章推荐
实现JavaScript中继承的三种方式
Oct 16 Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
Jul 22 Javascript
实例浅析js的this
Dec 11 Javascript
JS触摸与手势事件详解
May 09 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
Feb 05 Javascript
详解如何使用webpack打包JS
Jun 21 Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
JS实现放烟花效果
Mar 10 Javascript
js实现页面导航层级指示效果
Aug 25 Javascript
微信小程序登录态控制深入分析
Apr 12 #Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 #Javascript
微信小程序微信支付接入开发实例详解
Apr 12 #Javascript
JavaScript数据结构之广义表的定义与表示方法详解
Apr 12 #Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 #Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 #Javascript
Vue生命周期示例详解
Apr 12 #Javascript
You might like
ajax在joomla中的原生态应用代码
2012/07/19 PHP
php旋转图片90度的方法
2013/11/07 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
php中错误处理操作实例分析
2019/08/23 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
js分页代码分享
2014/04/28 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
详解javascript replace高级用法
2019/02/17 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
Python在图片中添加文字的两种方法
2017/04/29 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
文职个人求职信范文
2013/09/23 职场文书
廉政教育心得体会
2014/01/01 职场文书
学习标兵获奖感言
2014/02/20 职场文书
先进单位事迹材料
2014/12/25 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
python基础之错误和异常处理
2021/10/24 Python