【问题标题】:casperjs/slimerjs: get request headerscasperjs/slimerjs:获取请求标头
【发布时间】:2016-09-21 21:57:44
【问题描述】:

我正在尝试使用 casperjs 进行爬虫。有些请求需要原始标头版本:我必须获取原始帖子数据、cookie 等,一旦获得它们,我想修改它们(仍然是原始的)并使用这些修改后的标头执行另一个请求。但我找不到这样做的方法。

我找到了如何使用 Phantomjs 检索 cookie,但在 casperjs/slimerjs 文档中没有找到任何内容。

感谢您的帮助

【问题讨论】:

  • 您应该能够以与在 PhantomJS 中完全相同的方式在 slimer.js 和 CasperJS 中检索 cookie。您实际上是在询问 cookie 还是所有请求标头?
  • 我要求提供整个请求标头,但我发现的唯一一件事是如何获取 cookie
  • this 能解决您的问题吗?
  • 哦,是的,我能够过滤 URL 以仅获取页面而不是资源,并明确覆盖错误的标题。谢谢 :) 您愿意回答让我将您的帖子标记为已接受的答案吗?
  • 我宁愿将您的问题作为重复项结束。如果您的问题足够不同并且会有不同的答案,那么您可以自己回答(我不想这样做)。顺便说一句,您说您过滤了页面请求。你不需要自己这样做。如果您注册到"page.resource.requested" event,CasperJS 会为您执行此操作。你真的应该使用 CasperJS 风格的事件而不是底层 PhantomJS 风格的事件。

标签: http-headers web-crawler casperjs slimerjs


【解决方案1】:

您可以监听page.resource.requested 事件并访问requestDataheaders 属性:

var casper = require('casper').create();
var utils = require('utils');

casper.start('https://example.com/');

casper.on('page.resource.requested', function (requestData, networkRequest) {
  utils.dump(requestData.headers);
});

casper.run();

【讨论】:

    猜你喜欢
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2011-09-14
    • 2020-10-15
    • 2018-02-27
    相关资源
    最近更新 更多