poorequest
v0.0.11
Published
http request .using for get,post,and post file.
Downloads
36
Maintainers
Readme
poorequest
this is a node js http/https wrapper. in order to run under [email protected] , which is the highest node version on iPhone.
it only support basic usage ,GET/POST/MULTIPART
install
npm install poorequest
usage
var Request=require('poorequest');
var request=new Request();
var callback = function(err, result){
// err identify it succ or fail
// if !err, result will be an object
// result contain fiedls:
// herders, herders return from server,
// status / statusCode, statusCode return from server,
// body, data return from server,
// you can call toString | toJson | toBuffer on body to convert it to the format you want.
// raw, this is equal to body.toBuffer()
}
request.get|post|multi(url,option,callback);
get
// simple get, no option is needed.
var url='http://www.baidu.com';
request.get(url,function(err,result){
assert(result.body.toString().indexOf('<!--STATUS OK-->') > 0)
// if data is simple string: call result.body.toString(), eg. most html data
// if response is in json format: call result.body.toJson(), eg. most ajax data
// if response is in binary format: call result.body.toBuffer(), eg. image data
});
post
//post with payload 't=12345'
var url='http://www.wwei.cn/Qrcode/create.html';
request.post(url,{form:{
"t":"12345"
}},function(err,result){
assert(result.body.toString().indexOf('img') > 0)
assert(Object.keys(result.body.toJson()).length == 2)
});
//if want to upload paylod in json format like '{"t":"12345"}', add type:json field
request.post(url,{
form:{"t":"12345"},
type:'json'
},function(err,result){
//
});
multipart post
var multiForm = [];
var fd1 = {
name:'id',
value:'id-value'
};
var fd2 = {
name:'img',
value:'img-value'
};
var fd3 = {
name:'imgfile',
value:'imgfile-value',
filename:path.join(__dirname,"multifile.png")
};
// add a text field
//----------------------------06090260189957917
//Content-Disposition: form-data; name="id"
//
//id-value
multiForm.push(fd1);
// add a text field , same as above
multiForm.push(fd2);
// add a file field
//----------------------------06090260189957917
//Content-Disposition: form-data; name="imgfile"; filename="multifile.png"
//Content-Type: image/png
//
//imgfile-value
//
//...binary from file...
multiForm.push(fd3);
request.multi(url,{fields:multiForm},function(err,result){
// result.body.toString() ......
// result.statusCode ......
});