这里贴出request网址
介绍:
request,一个简化了的HTTP请求客户端。
使用起来超级简单:
var request = require('request');
request('http://www.baidu.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Show the HTML for the baidu homepage.
}
})
内容概括:
- Streaming流
- Forms表单
- HTTP Authentication验证
- Custom HTTP Headers自定义HTTP头部
- OAuth Signing签名
- Proxies代理
- Unix Domain Sockets域名套接字
- TLS/SSL Protocol协议
- Support for HAR 1.2支持HAR 1.2
1.Streaming流
将任意的响应转化为文件流:
request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))
2.HTTP Authentication验证
request.get('http://some.server.com/').auth('username', 'password', false);
或者
request.get('http://some.server.com/', {
'auth': {
'user': 'username',
'pass': 'password',
'sendImmediately': false
}
});
或者
request.get('http://some.server.com/').auth(null, null, true, 'bearerToken');
或者:
request.get('http://some.server.com/', {
'auth': {
'bearer': 'bearerToken'
}
});
如果将auth
作为一个参数传入的话,应该包括下面键值对:
- user || username
- pass || password
- sendImmediately (optional)
- bearer (optional)
当然,你也可以使用URL自身来声明基本的验证:
var username = 'username',
password = 'password',
url = 'http://' + username + ':' + password + '@some.server.com';
request({url: url}, function (error, response, body) {
// Do more stuff with 'body' here
});
3.Custom HTTP Headers自定义HTTP头部
HTTP头部,例如User-Agent
,可以放在options
对象中
var request = require('request');
var options = {
url: 'https://api.github.com/repos/request/request',
headers: {
'User-Agent': 'request'
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(info.stargazers_count + " Stars");
console.log(info.forks_count + " Forks");
}
}
request(options, callback);