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

nodejs 发起http get post 请求

2017-07-11 23:21 387 查看
http 模块提供了两个函数 http.request 和 http.get,功能是作为客户端向 HTTP

服务器发起请求。

 http.request(options, callback) 发起 HTTP 请求。接受两个参数,option 是

一个类似关联数组的对象,表示请求的参数,callback 是请求的回调函数。option

常用的参数如下所示。

 host :请求网站的域名或 IP 地址。

 port :请求网站的端口,默认 80。

 method :请求方法,默认是 GET。

 path :请求的相对于根的路径,默认是“/”。QueryString 应该包含在其中。

例如 /search?query=byvoid。

 headers :一个关联数组对象,为请求头的内容。

callback 传递一个参数,为 http.ClientResponse 的实例。
http.request 返回一个 http.ClientRequest 的实例。

例子:

var http = require('http');

var querystring = require('querystring');

var contents = querystring.stringify({

name: 'byvoid',

email: 'byvoid@byvoid.com',

address: 'Zijing 2#, Tsinghua University',

});

var options = {

host: 'www.byvoid.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('utf8');

res.on('data', function (data) {

console.log(data);

});

});

req.write(contents);

req.end();

运行后结果如下:

array(3) {

["name"]=>

string(6) "byvoid"

["email"]=>

string(17) "byvoid@byvoid.com"

["address"]=>

string(30) "Zijing 2#, Tsinghua University"

}

不要忘了通过 req.end() 结束请求,否则服务器将不会收到信息。

get请求

var http = require('http');

http.get({host: 'www.byvoid.com'}, function(res) {

res.setEncoding('utf8');

res.on('data', function (data) {

console.log(data);

});

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: