今天在工作中碰到使用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方法:
decodeURIComponent(encodedURIString)
二.ASP:
无
三.Asp.Net
编码:HttpUtility.Urlencode(str)
解码:HttpUtility.UrlDecode(str)
四.Php
编码:
urlencode(str)
解码:urldecode(str)
五.Java
编码:
java.net.URLEncode.encode(str)
解码:
java.net.URLDecoder.decode(str)