nodejs真似http要求コンポーネントnodegrass簡単な例
7359 ワード
最近データの導入を行うには、http要求をシミュレーションし、フレームを呼び出してデータの挿入と保存を行う必要があります.
nodejsのnodegrassの方法を採用して対応して簡単にまねます.
1、nodejs環境を構築する.
2、npm install nodegrass命令を実行します.
3、モジュールを導入し、var ng=require(nodegrass);
4、次にまずnodegrassの底のget方法の具体的な実現を見ます.コードは以下の通りです.
urlは住所を要求します
コールバックバック関数、
reqheadersはヘッドマークを要求します.一般的に使用します. 'Connect-Type:'appication/x-wn-form-urlencoded'
charset符号化方式は、一般的にutf 8です.
対応するポスト要求の下の実装コードは以下の通りである.
urlは住所を要求します
コールバックバック関数、
reqheadersはヘッドマークを要求します.一般的に使用します. 'Connect-Type:'appication/x-wn-form-urlencoded'
data要求に含まれる具体的なデータは、
charset符号化方式は、一般的にutf 8です.
以下ではpost方式で登録要求を模仿する例として、コードは以下の通りである.
野菜や鳥が進んでいます.毎日少しずつ進歩しています.
nodejsのnodegrassの方法を採用して対応して簡単にまねます.
1、nodejs環境を構築する.
2、npm install nodegrass命令を実行します.
3、モジュールを導入し、var ng=require(nodegrass);
4、次にまずnodegrassの底のget方法の具体的な実現を見ます.コードは以下の通りです.
//Get Method Request
//Support HTTP and HTTPS request,and Automatic recognition
//@Param url
//@Param callback
NodeGrass.prototype.get = function(url,callback, reqheaders, charset){
var protocol = getProtocol(url);
var _defaultCharSet = 'utf8';
if(typeof charset === 'string' ){
_defaultCharSet = charset;
}
if(typeof(reqheaders) === "string" && charset === undefined) {
_defaultCharSet = reqheaders;
}
var newheader = {};
if(reqheaders !== undefined && typeof(reqheaders) === "object") {
for(var ele in reqheaders) {
newheader[ele.toLowerCase()] = reqheaders[ele];
}
}
newheader["content-length"] = 0;
var options = {
host:getHost(url),
port:getPort(url),
path:getPath(url),
method:'GET',
headers:newheader
};
if(protocol === http || protocol === https){
return _sendReq(protocol,null,options,_defaultCharSet,callback);
}else{
throw "sorry,this protocol do not support now";
}
}
ここから分かるように、メソッド呼び出しに以下のパラメータを加えるだけでいいです.urlは住所を要求します
コールバックバック関数、
reqheadersはヘッドマークを要求します.一般的に使用します. 'Connect-Type:'appication/x-wn-form-urlencoded'
charset符号化方式は、一般的にutf 8です.
対応するポスト要求の下の実装コードは以下の通りである.
//Post Method Request
//Support HTTP and HTTPS request,and Automatic recognition
//@Param url
//@Param callback
//@Param header
//@param postdata
NodeGrass.prototype.post = function(url,callback,reqheaders,data,charset){
var protocol = getProtocol(url);
var _defaultCharSet = 'utf8';
if(typeof charset === 'string' ){
_defaultCharSet = charset;
}
if(typeof(data) === 'object'){data = querystring.stringify(data);}
var options={
host:getHost(url),
port:getPort(url),
path:getPath(url),
method:'POST',
headers:reqheaders
};
if(protocol === http || protocol === https){
return _sendReq(protocol,data,options,_defaultCharSet,callback)
}else{
throw "sorry,this protocol do not support now";
}
}
ここから分かるように、メソッド呼び出しに以下のパラメータを加えるだけでいいです.urlは住所を要求します
コールバックバック関数、
reqheadersはヘッドマークを要求します.一般的に使用します. 'Connect-Type:'appication/x-wn-form-urlencoded'
data要求に含まれる具体的なデータは、
charset符号化方式は、一般的にutf 8です.
以下ではpost方式で登録要求を模仿する例として、コードは以下の通りである.
var ng = require('nodegrass');
var REQ_HEADERS = {
'Content-Type': 'application/x-www-form-urlencoded'
};
ng.post("http://******/user/login",
function (res, status, headers) {
if (res.success) {
console.log(" 。");
}
else {
console.log(" 。");
}
},
REQ_HEADERS,
{name: '*****', pwd: '***', rememberPwd: true},
'utf8').
on('error', function (e) {
console.log("Got error: " + e.message);
});
この簡単な例はnodegrassのAPIに基づいて書いています.足りないところがあれば、許してください.野菜や鳥が進んでいます.毎日少しずつ進歩しています.