Method: Mechanize#get

Defined in:
lib/mechanize.rb

#get(uri, parameters = [], referer = nil, headers = {}) {|page| ... } ⇒ Object

GET the uri with the given request parameters, referer and headers.

The referer may be a URI or a page.

parameters is formatted into a query string using Mechanize::Util.build_query_string, which see.

Yields:



460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
# File 'lib/mechanize.rb', line 460

def get(uri, parameters = [], referer = nil, headers = {})
  method = :get

  referer ||=
    if uri.to_s =~ %r{\Ahttps?://}
      Page.new
    else
      current_page || Page.new
    end

  # FIXME: Huge hack so that using a URI as a referer works.  I need to
  # refactor everything to pass around URIs but still support
  # Mechanize::Page#base
  unless Mechanize::Parser === referer then
    referer = if referer.is_a?(String) then
                Page.new URI(referer)
              else
                Page.new referer
              end
  end

  # fetch the page
  headers ||= {}
  page = @agent.fetch uri, method, headers, parameters, referer
  add_to_history(page)
  yield page if block_given?
  page
end