Don't encode urls in querystring stringify

It's a little late, but for the next person, you can do: querystring.unescape(myString)


Not directly, no. Although, if you are not escaping the value in the query string then there is hardly any benefit to using querystring at all. Mind as well just do: var q = 'url=http://domain.com'

EDIT: From looking at the source, the only way would be to change the behavior of (i.e. overwrite) the querystring escape() function - which is possible but not a good idea.


Late answer again, but...
qs.stringify() has option encode:false which actually disable the URI encoding.

Qs.stringify documentation

You can also use it in nodejs request/request module as:

request({
  url: 'http://url.domain'
  qs: {
    qs1: 'thisIsNotEncodedInTheRequest%20://асд'
  },
  qsStringifyOptions: {
    // encoding: false /** (OLD VERSION - I think is deprecated yet) */
    encode: false
  }
});