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 相关文章推荐
基于jQuery的可以控制左右滚动及自动滚动效果的代码
Jul 25 Javascript
javascript语言结构小记(一)
Sep 10 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
异步JavaScript编程中的Promise使用方法
Jul 28 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
JavaScript中instanceof运算符的使用示例
Jun 08 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
原生js实现键盘控制div移动且解决停顿问题
Dec 05 Javascript
js实现字符全排列算法的简单方法
May 01 Javascript
Vue不能检测到Object/Array更新的情况的解决
Jun 26 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 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时的知识积累总结
2013/06/07 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
Vue项目中设置背景图片方法
2018/02/21 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
python练习程序批量修改文件名
2014/01/16 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
党员自我评价分享
2013/12/13 职场文书
学习党课思想汇报
2013/12/29 职场文书
中学家长会邀请函
2014/01/17 职场文书
晨会主持词
2014/03/17 职场文书
春晚观后感
2015/06/11 职场文书
政协常委会议主持词
2015/07/03 职场文书
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle