4
編輯:我回答了我自己的問題,請參閱下面的編輯。將參數從php傳遞給casperjs/phantomjs
原文: 我有我的網絡服務器上安裝phantomjs和casperjs,他們都運行良好。我正在計劃在我的網站上創建用戶輸入的腳本,然後將其傳遞給casperjs腳本。 在擺弄了一下之後,我發現我陷入了用戶輸入的基本任務。如何將變量從php傳遞給casperjs?
請注意,以下僅僅是測試腳本。
我的PHP腳本
$user_input = $_POST['user_input'];
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
exec('/usr/local/bin/casperjs hello.js 2>&1',$output);
print_r($output);
hello.js
var user_input = "http://example.com/";
var casper = require('casper').create({
verbose: true,
logLevel: 'error',
pageSettings: {
loadImages: false,
loadPlugins: false
}
});
casper.start(user_input, function() {
this.echo(this.getTitle());
});
casper.run();
所以,我怎麼會通過$ USER_INPUT到hello.js。我的目標是用戶可以輸入一個正在被抓取的網址。
您可以張貼的答案, '答案',並接受它。這是做到這一點的正確方法。 – Harikrishnan
是的,請張貼爲自我回答。你的答案基本上是正確的,但使用'escapeshellarg'(即使你知道這一點,將來有人可能不會複製並粘貼你的答案)。 (例如,user_input ='; rm -rf/etc /') –
我必須等待48小時,直到我能回答自己。我現在修好了。謝謝 –