本文共 3275 字,大约阅读时间需要 10 分钟。
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 .
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 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 behavior. When an Agent is used request will default to Connection: keep-alive
. Possible values: undefined
(default): use 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
.转载地址:http://cyogi.baihongyu.com/