PhantomJS 获取 URL 参数

Posted

技术标签:

【中文标题】PhantomJS 获取 URL 参数【英文标题】:PhantomJS GET URL Parameter 【发布时间】:2015-01-11 06:46:50 【问题描述】:

在 PhantomJS 下运行服务器时如何检索 GET URL 参数。这是代码。

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)

【问题讨论】:

【参考方案1】:

Web 服务器模块不会像 php 那样为您解析参数。你需要自己做。

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://***.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;

完整的文档可以在here找到。

【讨论】:

我会让你弄清楚如何解析 POST 参数。应该不会太难。

以上是关于PhantomJS 获取 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PhantomJS 提交表单

[Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)

利用 PhantomJS 获取抖音直播的直播源

使用PhantomJS和node.js保存并呈现网页

运行单元测试时出现语法错误后 PhantomJS 退出

用webdriver+phantomjs实现无浏览器的自动化过程