* 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&timestamp=1553491282586&nonce=1124054398&signature=387b762e462367b6e231639cc3f89c49

 

 

参照reduce用法:

https://blog.csdn.net/fareast_mzh/article/details/80902181