На этой странице https://www.npmjs.com/package/phantom#functionality-details говорится:
Вы также можете передать ключи командной строки в процесс phantomjs, указав дополнительные аргументы для phantom.create(), например:
phantom.create '--load-images=no', '--local-to-remote-url-access=yes', (page) ->
или указав их в объекте options *:
phantom.create {parameters: {'load-images': 'no', 'local-to-remote-url-access': 'yes'}}, (page) ->
Эти примеры приведены только в кофе script, а также они намекают, что функция create может принимать
create('string',function)
или
create([object object],function)
но на самом деле первым ожидаемым параметром является функция!
Мне очень хотелось попробовать http://phantomjs.org/api/command-line.html У меня может быть неправильная идея, но для меня это похоже, что они могут использоваться в функции create (прямо перед вами createPage), я не прав?
Я пробовал несколько вещей, самый логичный из них:
var phantom = require('phantom');
phantom.create(function(browser){
browser.createPage(function(page){
page.open('http://example.com/req.php', function() {
});},{parameters:{'proxy':'98.239.198.83:21320'}});});
Итак, страница открывается. Я знаю это, потому что я делаю req.php, сохраняя объект $_SERVER на txt-пэде, но заголовки REMOTE_ADDR и REMOTE_PORT не являются теми, которые я установил в прокси-сервере. Они не действуют. Я также пробовал:
{options:{'proxy':'98.239.198.83:21320'}}
Поскольку документы вызывают этот объект, объект options * * см. выше ^
и
'--proxy=98.239.198.83:21320'
Я также проверил модуль phantom, чтобы найти функцию create. Это не написано в js. Я не вижу его, по крайней мере. Он должен быть в С++. Похоже, что этот модуль обновлен, но примеры, находящиеся внутри модуля, похожи на старый код.
Как это сделать?
EDIT:
var phantom = require('phantom');
phantom.create(function(browser){
browser.createPage(function(page){
browser.setProxy('98.239.198.83','21320','http', null, null, function(){
page.open(
'http://example.com/req.php', function() {
});});});});
Это не вызывает ошибок, и страница очищается, но прокси игнорируется.