I am trying to create a proxy which I can route my browser requests
through
in order to gather information on the web page loading. At this time I
am
particularly interested in the many GET requests associated with loading
a
single web page. Note: This does not have anything to do with rails, my
goal
is to run a ruby app in the background, set firefox to proxy all
requests
through it, log those requests, then return the fulfilled request back
to
the browser (i.e. the web page still loads in the browser).
I posted this on a ruby forum, and it was suggested to do something
along
the lines of:
def process(request,response)
response.start(200) do |head, out|
head[“Content-Type”] = “text/plain”
@@logger.info request.params
end
end
end
server = Mongrel::HttpServer.new(“127.0.0.1”, “2222”)
server.register(“/”, HeaderHandler.new)
server.register(“/favicon.ico”, Mongrel::Error404Handler.new(“”))
server.run.join
The problem is that this only records the first request (i.e. google.com,
and not any other requests that are associated with loading that page),
and
the page is never loaded in the browser as the requests is never
actually
proxied.
I have played around with this a bit, and tried changing some things up,
but
I haven’t really come up with anything. If anyone could point me in the
right direction, I would be grateful. Thanks!
through
the browser (i.e. the web page still loads in the browser).
Hi Arash,
You may have interest in coding a solution to this, for your own
reasons. I totally support those inclinations! I’m going to go a
little off-topic with an idea though:
Personally, I use “Tamper Data”
(https://addons.mozilla.org/en-US/firefox/addon/966) within FireFox to
handle this type of thing. It’s a most excellent resource: it’s like a
wire sniffer at the HTTP level only. It supports decoding request data
and tracking POST, GET and Ajax stuff.
It’s been invaluable for me in some circumstances - I hope the
reference is helpful.
Steve
p.s. It’s been particularly helpful in trapping precisely certain live
GET & Ajax requests which I then convert into testing requests to
re-create the errors.
Dusty: Im not sure what the server does, but what I am developing is
intended to be a client side testing utility. i.e. all that will be
installed on the machine is a browser, and some programming environment
(i.e.
ruby)
Evan: I saw mousehole yesterday, but I didn’t quite understand how I
could
edit a script to do what I want (for now I am starting off small, and I
just
want to collect header information, but eventually I assume it will be a
whole variety of information I would like to log.). I will try and take
another look at it.
I wish I could use something like that (in fact, I often use firebug to
see
what is actually going on), but I am trying to build something that is
browser independent.
Ideally, what I am looking for is something which just listens to all
the
traffic going into and out of a browser (using whatever protocol) and do
some analysis on that traffic (even if that means I need to duplicate
all
the data elsewhere on my disk). but alas, I come from a desktop
background
and I am not that well versed in web related issues. So I suppose I will
just take baby steps (with your guy’s help, if you dont mind.)
come from a desktop background and I am not that well versed in web
related issues. So I suppose I will just take baby steps (with your
guy’s help, if you dont mind.)
“Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables
a developer to view all of the HTTP traffic between their machine and
the Internet. This includes requests, responses and the HTTP headers
(which contain the cookies and caching information).”
Browser independent, it intercepts, decodes and displays all browser
↔ server communications, including decoding Flash AMF data. It’s
invaluable for Flash → server and “ajax” development; sounds like
it’ll do some of what you want, too.
cheers
i
Message-ID:
single web page. Note: This does not have anything to do with rails,
You may have interest in coding a solution to this, for your own
reference is helpful. http://rubyforge.org/mailman/listinfo/mongrel-users
If you are willing to test with a Windows client, there are two very
useful
utilities available: @superfell and https://www.pocketsoap.com/proxytrace/ (Proxy trace is probably what
you
are looking for. You run it on your local machine, and just configure
your
browser to use localhost as your proxy. It works with any browser, as
they
all support forward proxies.)