您的位置:首页 > 理论基础 > 计算机网络

Node.Js http模块(一)-发送http请求实例

2016-08-31 10:21 846 查看
Node.Js http模块可以创建服务器应用实例,也能发送http请求

1.http.get(options[, callback])

发送简单Get请求,并响应

var http=require('http');
//get 请求外网
http.get('http://www.gongjuji.net',function(req,res){
var html='';
req.on('data',function(data){
html+=data;
});
req.on('end',function(){
console.info(html);
});
});
2.http.request(options[, callback]) // 使用详细配置,发送Get或Post请求

发送Post实例:注http请求头使用headers指定

var http=require('http');
var querystring=require('querystring');
//发送 http Post 请求
var postData=querystring.stringify({
msg:'中文内容'
});
var options={
hostname:'www.gongjuji.net',
port:80,
path:'/',
method:'POST',
headers:{
//'Content-Type':'application/x-www-form-urlencoded',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Content-Length':Buffer.byteLength(postData)
}
}
var req=http.request(options, function(res) {
console.log('Status:',res.statusCode);
console.log('headers:',JSON.stringify(res.headers));
res.setEncoding('utf-8');
res.on('data',function(chun){
console.log('body分隔线---------------------------------\r\n');
console.info(chun);
});
res.on('end',function(){
console.log('No more data in response.********');
});
});
req.on('error',function(err){
console.error(err);
});
req.write(postData);
req.end();
发送Get请求实例:

//发送Get请求
var http=require('http');
var querystring=require('querystring');
var data={
age:13,
time:new Date().getTime()
};
var content=querystring.stringify(data);
var options={
hostname:'www.gongjuji.net',
port:80,
path:'/',
method:'GET'
}
//创建请求
var req=http.request(options,function(res){
console.log('STATUS:'+res.statusCode);
console.log('HEADERS:'+JSON.stringify(res.headers));
res.setEncoding('utf-8');
res.on('data',function(chunk){
console.log('数据片段分隔-----------------------\r\n');
console.log(chunk);
});
res.on('end',function(){
console.log('响应结束********');
});
});
req.on('error',function(err){
console.error(err);
});
req.end();
参数说明:

options
can be an object or a string. If
options
is
a string, it is automatically parsed with
url.parse()
.

Options:

protocol
: Protocol to use.
Defaults to
'http:'
.
host
: A domain name or IP address
of the server to issue the request to. Defaults to
'localhost'
.
hostname
: Alias for
host
.
To support
url.parse()
hostname
is
preferred over
host
.
family
: IP address family to
use when resolving
host
and
hostname
.
Valid values are
4
or
6
.
When unspecified, both IP v4 and v6 will be used.
port
: Port of remote server.
Defaults to 80.
localAddress
: Local interface
to bind for network connections.
socketPath
: Unix Domain Socket
(use one of host:port or socketPath).
method
: A string specifying
the HTTP request method. Defaults to
'GET'
.
path
: Request path. Defaults
to
'/'
. Should include query string if any. E.G.
'/index.html?page=12'
.
An exception is thrown when the request path contains illegal characters. Currently, only spaces are rejected but that may change in the future.
headers
: An object containing
request headers.
auth
: Basic authentication
i.e.
'user:password'
to compute an Authorization header.
agent
: Controls
Agent
behavior.
When an Agent is used request will default to
Connection: keep-alive
.
Possible values:

undefined
(default): use
http.globalAgent
for
this host and port.
Agent
object: explicitly use
the passed in
Agent
.
false
: opts out of connection
pooling with an Agent, defaults request to
Connection: close
.

更多:
NodeJs开发环境搭建之Visual Studio Code

NodeJS命令找不到:'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。

NodeJs的安装和环境变量配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: