nodejs真似http要求コンポーネントnodegrass簡単な例

7359 ワード

最近データの導入を行うには、http要求をシミュレーションし、フレームを呼び出してデータの挿入と保存を行う必要があります.
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に基づいて書いています.足りないところがあれば、許してください.
野菜や鳥が進んでいます.毎日少しずつ進歩しています.