关闭

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

标签: node.jshttp模块发送get请求发送post请求
29905人阅读 评论(2) 收藏 举报
分类:

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.

更多:
0
0
查看评论

nodejs使用request发送http请求

在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候,就需要发送HTTP请求了。有一个简单的工具可以用,Simplified HTTP request client,可以比较方便的模拟请求。安装npm install --save request使用最简单的GET请求,用法如下:va...
  • dreamer2020
  • dreamer2020
  • 2016-07-31 01:28
  • 34138

Nodejs 发送HTTP POST请求实例

项目里面需要用到使用NodeJs来转发HTTP POST请求,研究了很久最后才弄通,把过程记录一下: 接收端代码很简单,就是回送body.address属性: exports.sendEmail = function (req, res) { res.send(200, req.body....
  • puncha
  • puncha
  • 2013-06-03 17:55
  • 102835

nodejs http 发送get,post请求

GET请求  var http = require('http'); var qs = require('querystring'); var data = { a: 123, time: new Date...
  • yaoyyl
  • yaoyyl
  • 2017-03-30 14:17
  • 1062

Request —— 让 Node.js http请求变得超简单

Request —— 让 Node.js http请求变得超简单 Node.js的模块——request。有了这个模块,http请求变的超简单。
  • miss1128726
  • miss1128726
  • 2015-11-22 12:37
  • 1660

Request —— 让 Node.js http请求变得超简单

转自:https://segmentfault.com/a/1190000000385867 先前一直比较关注前端的东西,对后端了解较少。不过一直对Node.js比较感兴趣,去年12月还去参加了阿里的CNODE交流聚会。以后希望通过这里的博客分享一些学习Node.js的笔记。一方面总结了自己的学习心...
  • sbt0198
  • sbt0198
  • 2017-03-26 21:03
  • 2948

Node中http模块详解(客户端篇)

上一篇说到了http模块的服务器篇,在这个文章里面我们讨论一下http模块的客户端篇1.http客户端http模块提供了两个函数http.request和http.get,功能是客户端向服务器端发送请求。1.1 http.requesthttp.request(options,callback)用于...
  • woshinannan741
  • woshinannan741
  • 2016-05-10 09:49
  • 5470

nodejs中的HTTP请求

get 和 post 的第一个参数都为请求的路径,第二个参数为处理请求的回调函数,回调函数有两个参数分别是 req 和 res,代表请求信息和响应信息 。路径请求及对应的获取路径有以下几种形式: req.query [javascript] view plaincopy ...
  • l15078890250
  • l15078890250
  • 2014-12-01 16:27
  • 158

node http.get

var http=require('http'); http.get("http://localhost/read.txt", function(res) { console.log("Got response: " + res.statu...
  • wmsjlihuan
  • wmsjlihuan
  • 2014-02-19 11:52
  • 6152

Node.js http服务器搭建和发送http的get,post请求

1.Node.js 搭建http服务器1.1创建server.jsvar http = require('http'); var querystring = require('querystring'); http.createServer(function (req...
  • u010046908
  • u010046908
  • 2016-10-06 09:29
  • 1705

Nodejs:http入门2:发送get请求

nodejs 发送get请求
  • HUSHILIN001
  • HUSHILIN001
  • 2018-01-02 22:35
  • 229
    个人资料
    • 访问:1433829次
    • 积分:16115
    • 等级:
    • 排名:第788名
    • 原创:468篇
    • 转载:153篇
    • 译文:1篇
    • 评论:151条