PhantomJS GET URL

How to get GET URL parameters when starting a server under PhantomJS. Here is the code.

var webserver = require('webserver');

var server = webserver.create();

var service = server.listen(9090, function(request, response)
{
  var page = require('webpage').create();

  console.log('GET: ' + request.get)
  console.log('POST: ' + request.post)

      

+3


source to share


1 answer


The Web Server module does not parse parameters for you like PHP does. You will need to do this yourself.

server.listen(9090, function(request, response) {
  // parse url property to get the GET parameters
  console.log('URL: ' + request.url);
  console.log("    " + JSON.stringify(parseGET(request.url), undefined, 4)); // pretty print

  // parse post property to get the POST parameters (message body)
  console.log('BODY: ' + request.post);
};

function parseGET(url){
  // adapted from http://stackoverflow.com/a/8486188
  var query = url.substr(url.indexOf("?")+1);
  var result = {};
  query.split("&").forEach(function(part) {
    var e = part.indexOf("=")
    var key = part.substr(0, e);
    var value = part.substr(e+1);
    result[key] = decodeURIComponent(value);
  });
  return result;
}

      



Full documentation can be found here .

+3


source







All Articles