* Usage:
Form Data =>View source
* uri2assoc.js
var fs = require("fs")
function parse_uri(s) {
return s.split('&').reduce(function(o, kvs) {
var a = kvs.split('=')
o[ a[0] ] = decodeURIComponent(a[1])
return o;
}, {});
}
function obj2phpAssoc(o) {
var addslashes = addslashes || function(s) {
return s.replace(/\\/g, '\\\\').
replace(/\u0008/g, '\\b').
replace(/\t/g, '\\t').
replace(/\n/g, '\\n').
replace(/\f/g, '\\f').
replace(/\r/g, '\\r').
replace(/'/g, '\\\'').
replace(/"/g, '\\"');
}
return "$a = [\n" +
Object.keys(o).map(function(prop) {
return " '" + addslashes(prop) + "' => '" + addslashes(o[prop]) + "',"
}).join("\n") +
"\n];"
}
var s = fs.readFileSync("/home/ubuntu/code/test/poststring.txt").toString()
var o = parse_uri(s);
console.log( obj2phpAssoc(o) )
* test:
poststring.txt
captchaId=d094d0ba1af54042adfc15daf1be0d75&validate=lT2VzyV7rRAwDXtmGAT24GeH-DOy4sIHyRZ-twY.JaE8j8ytVa05f0vR0JfUUVNQW.GHAkawGKVUj4SfwAsZedSTTmFOKOxWb2TDtIPFxjsjqp4Kxd4yNrfoXQwzlgyOxasfo6xYQiIXFO4SgJYfdSw5IKteXR9AH2sbQLvoZYPUzEvyU_jYDqdUTuE-YLh-6_D2Xkgt87Pz.gWkYeyRVyLL5ANYvZcfyhZLH11Z8CmaOVIJGIAyjvvr7wZQDC.0_PFO0yPnxNHRv5b45Lzh25oFmLU59qnMgG-A0YqK0T9BYpccTMopxQwKRY284bedX6K2KNuvqP1m-FVnOg2sHBTvwHBb9MpDnjx8dTUQAC1VcsiD491DtCoJqIkNoLbXViolJ_m1X.RK7Q577wdIaivoTV6AVVM_r9HQ9qQYhJrMJeLi0Z5L0QJryct_dZt.1WL7M9Zbm8S.8otHwwo2vPNuJ5FqoHXJ0L0rLN1GZwjqNPQvdGbmdc8EE7I3&user=%7B%27user%27%3A123456%7D&secretId=9e95d913644e7def44afd236f2cf34eb&version=v2×tamp=1553491282586&nonce=1124054398&signature=387b762e462367b6e231639cc3f89c49
参照reduce用法: