I\'m using PhantomJS and poltergeist to emulate a browser, however I\'m not sure how to specify a proxy to use in the code:
require \'capybara\'
require \'ca
Try to run it in controller action, so when it will control through controller level it will update the new proxy ip. Like this way
def index
options = {
:js_errors => false,
:debug => true,
:phantomjs => "/Users/Umer/Desktop/phantomjs-2.0.0-macosx/bin/phantomjs",
#:phantomjs_options => ["--proxy=#{proxy.ip}:#{proxy.port}", "--proxy-auth=#{proxy.username}:#{proxy.password}"]
:phantomjs_options => ["--proxy=88.150.136.178:3128"]
}
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, options)
end
Capybara.default_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
Capybara.default_wait_time = 20
Capybara.ignore_hidden_elements = true
Capybara.run_server = false
Capybara.app_host = 'http://mxtoolbox.com'
session = Capybara::Session.new(:poltergeist)
session.visit('/WhatIsMyIP/')
file = File.new("test3.html", "w+")
file.write(session.body)
file.close
session.driver.quit
end