URLを開こうとするPhantomjsスクリプトがあります。Phantomjsがブラウザで開くページを開くことができません。
Unable to load resource (request ID:undefinedURL:http://foo.bar/tree/nav_value/27)
Error code: 203. Description: Error downloading http://foo.bar/tree/nav_value/27 - server replied: Not Found
をしかし、私はChromeブラウザでURL http://foo.bar/tree/nav_value/27
を開いたときに、全く問題ありませんし、ページが正しくセットされている:phantomjsはこのエラーを返します!
これはスクリプトです:
// Read the Phantom webpage '#intro' element text using jQuery and "includeJs"
"use strict";
var page = require('webpage').create();
var system = require('system');
if (system.args.length != 2) {
console.log("please pass 2 argument")
}
var company_id = system.args[1]
console.log("c", company_id)
page.onConsoleMessage = function(msg) {
console.log("message", msg);
};
page.onResourceError = function(resourceError) {
console.log('Unable to load resource (request ID:' + resourceError.id + 'URL:' + resourceError.url + ')');
console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
};
page.onError = function(msg, trace) {
console.log("error", msg)
}
var nav_value;
page.open("http://foo.bar/tree/nav_value/27", 'post', 'username=navid&password=test', function(status) {
if (status === "success") {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
page.evaluate(function() {
nav_value = parseInt($("#value").text());
});
phantom.exit(0);
});
} else {
phantom.exit(1);
}
});
EDIT:奇数が起こる
何か。別のマシン上のウィンドウでこのコードをphantomjsで実行すると、そのコードは機能します。しかし、Ubuntuではエラーを返します!
phantomjが開こうとしているURLは、同じサーバー上にあります。 (Ubuntu)
問題は何ですか?
「ChromeでURLを開くと、ChromeでGETリクエストを行いますか? PhantomJSでPOSTリクエストを行うことに注意してください。 – Vaviloff
はい私はGET要求をします。違いはありますか? – Navid777
サイトに応じて作成できます。実験のためにPhantomJSのGETリクエストで同じページをリクエストしてみてください。ページが見つからない場合は...スクリプトにタイプミスがありますか?残念ながら、サイトのURLを表示することはできません。なぜこのエラーが発生するのかについて、他のいくつかの理論があります。 – Vaviloff