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);
});
});
服务器发起请求。
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);
});
});
相关文章推荐
- 使用nodejs发起get或post请求抓取网页内容,支持中文编码
- nodejs 使用http进行post或get请求(携带cookie)
- Java代码发起HTTP GET和POST请求(URLConnection)
- nodejs使用http模块发送get与post请求的方法示例
- angularJS 发起$http.post和$http.get请求的实现方法
- angularJS 发起$http.post和$http.get请求
- Go语言中利用http发起Get和Post请求的方法示例
- angularJS 发起$http.post和$http.get请求
- HttpClient发起GET或者POST请求
- nodejs发起HTTPS,GET,POST请求Face++人脸识别
- Java 发起http GET POST请求实例
- Http之Get/Post请求区别
- HTTP请求 GET与POST方法的区别
- HTTP协议中的GET、POST请求
- Http之Get/Post请求区别
- 几个http请求相关的函数 HttpWebRequest: Post , Get ; PostAndRedirect
- 用HttpURLConnection在服务器端发起HTTP Post请求的例子
- .NET实现HTTP协议中的GET、POST请求
- 用HttpURLConnection在服务器端发起HTTP Post请求的例子
- C# 实现http协议GET、POST请求