从零开始学习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[];
var parsedUrl = url.parse(argUrl, true);
var options = {host: null, port: -, 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

又一个发送客户端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(); //不能漏掉,结束请求,否则服务器将不会收到信息。
从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果的更多相关文章
- 从零开始学习Node.js例子一 http get和post
httpserverrequestget.js /* 获取GET请求内容 由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数 ...
- 从零开始学习Node.js例子三 图片上传和显示
index.js var server = require("./server"); var router = require("./router"); var ...
- 从零开始学习Node.js例子九 设置HTTP头
server.js //basic server的配置文件 ; var server = require('./basicserver').createServer(); server.useFavI ...
- 从零开始学习Node.js例子六 EventEmitter发送和接收事件
pulser.js /* EventEmitter发送和接收事件 HTTPServer和HTTPClient类,它们都继承自EventEmitter EventEmitter被定义在Node的事件(e ...
- 从零开始学习Node.js例子八 使用SQLite3和MongoDB
setup.js:初始化数据库 var util = require('util'); var async = require('async'); //npm install async var no ...
- 从零开始学习Node.js例子五 服务器监听
httpsnifferInvoke.js var http = require('http'); var sniffer = require('./httpsniffer'); var server ...
- 从零开始学习Node.js例子四 多页面实现数学运算 续二(client端和server端)
1.server端 支持数学运算的服务器,服务器的返回结果用json对象表示. math-server.js //通过监听3000端口使其作为Math Wizard的后台程序 var math = r ...
- 从零开始学习Node.js例子四 多页面实现数学运算 续一(使用connect和express框架)
1.使用connect框架 .use方法用于绑定中间件到connect服务器,它会配置一系列在接到请求时调用的中间件模块,此例中我们要配置的中间件有favicon logger static rout ...
- 从零开始学习Node.js例子四 多页面实现数学运算
app-node.js ; var http = require('http'); var htutil = require('./htutil'); var server = http.create ...
随机推荐
- 针对高通BMS的研究 高通电量计
点击打开链接 高通8064 8974 8926等pm芯片都集成了电量计,估计后续芯片都会一直存在,现在许多项目UI状态栏电池都有百分比显示,所以需要深入分析BMS有助于解决电量方面的BUG. 一: S ...
- linux内核3.4基于wakeup_source的autosleep机制分析
点击打开链接 一:wakeup_source简介: linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake.之前android一直是基于Linux加入了w ...
- sql2008 表名为全数字时查询报错
今天遇到个很奇葩的问题,在写一个应用程序时需要查询表的数据,但是表名是全数字的,直接查询会报错,于是想到给111的表名加一对中括号:即——>select * from [111] 刚开始还是报错 ...
- python_way ,day25 CMDB_models (数据库设计)
from django.db import models from django.contrib.auth.models import User # Create your models here. ...
- 【Asp.net之旅】--数据绑定控件之Repeater
http://blog.csdn.net/zhang_xinxiu/article/details/21872433
- $inArray()总是返回-1
$inArray(val,arr)注意val类型和arr中的是否一致 如1 和"1" 就会返回-1
- Java for Mac 问题
卸载jdk 1.7/1.8: sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.pluginsudo rm -fr /Library/P ...
- 【转】CentOS 6.5安装pyspider过程记录
原文地址:http://blog.sina.com.cn/s/blog_48c95a190102wczx.html 1.根据pyspider官方推荐的安装方法,使用pip命令直接安装pyspider ...
- UNIX 逐字符输入
//终端驱动处于普通胡一次一字符模式 system("stty raw"); //终端驱动处于普通胡一次一行模式 system("stty cooked");
- PHP自动发邮件
自动发邮件 使用了这个类http://bbs.php100.com/read-htm-tid-121431.html 因他用的php版本较老,用到了函数ereg_replace() 和 ereg() ...