get (WWW::Mechanize)

    # File lib/www/mechanize.rb, line 203
        def get(options, parameters = [], referer = nil)
          unless options.is_a? Hash
            url = options
            unless parameters.respond_to?(:each) # FIXME: Remove this in 0.8.0
              referer = parameters
              parameters = []
            end
          else
            raise ArgumentError.new("url must be specified") unless url = options[:url]
            parameters = options[:params] || []
            referer = options[:referer]
            headers = options[:headers]
          end

          unless referer
            if url.to_s =~ /^http/
              referer = Page.new(nil, {'content-type'=>'text/html'})
            else
              referer = current_page || Page.new(nil, {'content-type'=>'text/html'})
            end
          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
          # WWW::Mechanize::Page#base
          unless referer.is_a?(WWW::Mechanize::File)
            referer = referer.is_a?(String) ?
              Page.new(URI.parse(referer), {'content-type' => 'text/html'}) :
              Page.new(referer, {'content-type' => 'text/html'})
          end

          # fetch the page
          page = fetch_page(  :uri      => url,
                              :referer  => referer,
                              :headers  => headers || {},
                              :params   => parameters
                           )
          add_to_history(page)
          yield page if block_given?
          page
        end