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