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 相关文章推荐
js操作iframe的一些方法介绍
Jun 25 Javascript
原生js和jQuery写的网页选项卡特效对比
Apr 27 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
Dec 10 Javascript
浅谈JavaScript对象与继承
Jul 10 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
VeeValidate在vue项目里表单校验应用案例
May 09 Javascript
Vue 进阶之路(三)
Apr 18 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 Javascript
夯基础之手撕javascript继承详解
Nov 09 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
一个程序下载的管理程序(二)
2006/10/09 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
删除重复数据的算法
2006/11/23 Javascript
javascript一些不错的函数脚本代码
2008/09/10 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
Python 第一步 hello world
2009/09/25 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
python多进程间通信代码实例
2019/09/30 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
中学教师实习自我鉴定
2013/09/28 职场文书
光电信息专业应届生求职信
2013/10/07 职场文书
车间副主任岗位职责
2013/12/24 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
护理专业自我鉴定
2014/01/30 职场文书
法人代表资格证明书
2015/06/18 职场文书
医院消毒隔离制度
2015/08/05 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
基于Python实现对比Exce的工具
2022/04/07 Python