nodejs http.requset options传字符串参数

今天在工作中碰到使用nodejs http.request(options, callback)传多个参数,并且参数含空格的情况怎么传都失败,发现是用浏览器就成功,打印出来浏览器传输是encode过得,于是使用js的encodeURIcomponet(str),加密再传参果断成功,记录下来方便查阅;

var content = "this is a test";
var contact = "test@test.cn"

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:
编码:S erver.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)


版权声明:本文为shulianghe原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。