1. 程式人生 > >nodejs http.requset options傳字串引數

nodejs http.requset options傳字串引數

今天在工作中碰到使用nodejs http.request(options, callback)傳多個引數,並且引數含空格的情況怎麼傳都失敗,發現是用瀏覽器就成功,打印出來瀏覽器傳輸是encode過得,於是使用js的encodeURIcomponet(str),加密再傳參果斷成功,記錄下來方便查閱;

var content = "this is a test";
var contact = "[email protected]"

param = {"id":21}+','+contact+','+conten

var options = {
            host: '127.0.0.1',          //server adderss
            port: 3000,                 //server port
            method: method,
            path: service+param            //service and argument
    };

    var req = http.request(options, function(res) {});

解決方法:

param = JSON.stringify(user) + ',' + encodeURIComponent(contact) + ',' + encodeURIComponent(context);

附各種語言urlencode方法:

一.JavaScript: 編碼:encodeURIComponent(URIString)  解碼:decodeURIComponent(encodedURIString) 二.ASP: 編碼:Server.urlencode(str) 解碼: 三.Asp.Net 編碼:HttpUtility.Urlencode(str) 解碼:HttpUtility.UrlDecode(str)
四.Php 編碼:urlencode(str) 解碼:urldecode(str) 五.Java 編碼:java.net.URLEncode.encode(str) 解碼:java.net.URLDecoder.decode(str)