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 扩展对input的一些操作方法
Oct 30 Javascript
js对象数组按属性快速排序
Jan 31 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
Apr 10 Javascript
JavaScript实现网页上的浮动广告的简单方法
Jun 14 Javascript
js实现按Ctrl+Enter发送效果
Sep 18 Javascript
超棒的响应式布局jQuery插件Freetile.js
Nov 17 Javascript
jQuery中wrapInner()方法用法实例
Jan 16 Javascript
js获取指定字符前/后的字符串简单实例
Oct 27 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
Js代码中的span拼接问题解决
Nov 22 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
微信小程序登录态控制深入分析
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
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
2009/12/07 Javascript
JavaScript 学习技巧
2010/02/17 Javascript
javascript JSON操作入门实例
2010/04/16 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
python多线程socket编程之多客户端接入
2017/09/12 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
python3中的md5加密实例
2018/05/29 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Python可以实现栈的结构吗
2020/05/27 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
护士自荐信怎么写
2013/10/18 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
低碳环保口号
2014/06/12 职场文书
食品安全汇报材料
2014/08/18 职场文书
幼儿生日活动方案
2014/08/27 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书