【发布时间】:2015-05-22 15:31:35
【问题描述】:
我是 casper js 的新手,我想从 get 请求中检索一个 json 对象。 我收到的消息如下:
加载资源失败,status=fail:https://api.twitter.com/1.1/search/tweets.json?q=casperjs
这是我的代码:
var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
pageSettings: {
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36'
}
});
casper.start().then(function() {
this.open('https://api.twitter.com/1.1/search/tweets.json?q=casperjs', {
method: 'get',
headers: {
'Accept': 'application/json'
}
});
});
casper.then(function() {
require('utils').dump(JSON.parse(this.getPageContent()));
});
casper.run(function() {
this.exit();
});
我花了很多时间来了解出了什么问题,但没有成功。我没有在堆栈上发现其他类似的问题......这意味着我必须做错事。
感谢您的帮助
我的配置(来自 brew info):
- casperjs:稳定版 1.0.4(瓶装),开发版 1.1-beta3,HEAD
- phantomjs:稳定 2.0.0(瓶装),HEAD
【问题讨论】:
-
无法在 windows 上使用 CasperJS master 和 PhantomJS 2.0.0 重现您的问题。
-
可能是因为我在mac上,因为casperjs的master分支托管了开发版本。
-
这样的问题不应该来自 CasperJS。也许这是一个 SSL 问题。您是否尝试过使用一些可用的命令行选项,例如
--ssl-protocol=any和--ignore-ssl-errors=true? -
它适用于
--ignore-ssl-errors=true,但不适用于--ssl-protocol=any...我真的不明白为什么?无论如何,非常感谢您的帮助!
标签: javascript json get phantomjs casperjs