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 preload&lazy load
May 13 Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 Javascript
jquery实现的导航固定效果
Apr 28 Javascript
javascript 数组的定义和数组的长度
Jun 07 Javascript
jQuery实现底部浮动窗口效果
Sep 07 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
Nov 21 Javascript
JS模拟超市简易收银台小程序代码解析
Aug 18 Javascript
Vue中使用Sortable的示例代码
Apr 07 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
Sep 18 Javascript
vue 在methods中调用mounted的实现操作
Aug 07 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
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python实现简易通讯录修改版
2018/03/13 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
科室工作个人总结的自我评价
2013/10/29 职场文书
领导干部保密承诺书
2014/08/30 职场文书
单位推荐信范文
2015/03/27 职场文书
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL
Python保存并浏览用户的历史记录
2022/04/29 Python