Set HTTP::Recorder as the user agent for a proxy, and it rewrites HTTP
responses so that additional requests can be recorded.
Then, tell your web browser to use this proxy, and the script will be recorded
in the specified file.
This software does all the dirty work of parsing HTTP Requests to find incoming
query parameters.
Incoming query parameters come from two places. The first place is the query
portion of the URL. Second is the content portion of an HTTP request as is the
case when parsing a POST request, for example.
HTTP::Server::Simple::PSGI is a HTTP::Server::Simple based HTTP server
that can run PSGI applications. This module only depends on
HTTP::Server::Simple, which itself doesn't depend on any non-core
modules so it's best to be used as an embedded web server.
This module allows you to record all HTTP communication between an
HTTP::Server::Simple-derived server and its clients. It is a mixin, so
it doesn't itself subclass HTTP::Server::Simple; you need to subclass
from both HTTP::Server::Simple::Recorder and an actual
HTTP::Server::Simple subclass, and HTTP::Server::Simple::Recorder should
be listed first.
Mozilla Firefox is a free and open source web browser descended from the
Mozilla Application Suite. It is small, fast and easy to use, and offers
many advanced features:
o Popup Blocking
o Tabbed Browsing
o Live Bookmarks (ie. RSS)
o Extensions
o Themes
o FastFind
o Improved Security
HTTP::Thin is a thin wrapper around HTTP::Tiny adding the ability to pass in
HTTP::Request objects and get back HTTP::Response objects. The maintainers of
HTTP::Tiny, justifiably, don't want to have to maintain compatibility but many
other projects already consume the HTTP::Message objects. This is just glue code
doing what it does best.
This module parses HTTP headers using a C++ state machine. The goal is
to be fast, not necessarily to do everything you could ever want.
Headers are not static, you can parse them, munge them, or even build
them using this module.
LWPx::ParanoidAgent is a class subclassing LWP::UserAgent, but
paranoid against attackers. It's to be used when you're fetching
a remote resource on behalf of a possibly malicious user.
This class can do whatever LWP::UserAgent can (callbacks, uploads
from files, etc), except proxy support is explicitly removed, because
in that case you should do your paranoia at your proxy.
Also, the schemes are limited to http and https, which are mapped to
LWPx::Protocol::http_paranoid and LWPx::Protocol::https_paranoid,
respectively, which are forked versions of the same ones without
the "_paranoid". Subclassing them didn't look possible, as they were
essentially just one huge function.
This class protects you from connecting to internal IP ranges
(unless you whitelist them), hostnames/IPs that you blacklist, remote
webserver tarpitting your process (the timeout parameter is changed to
be a global timeout over the entire process), and all combinations of
redirects and DNS tricks to otherwise tarpit and/or connect to internal
resources.
LWPx::TimedHTTP performs an HTTP request exactly the same as LWP does normally
except for the fact that it times each stage of the request and then inserts the
results as header.
It's useful for debugging where abouts in a connection slow downs are occuring.
ParallelUserAgent allows you to connect to multiple sites _in parallel_!
You can register a number of requests, then call the 'wait' method and see
how the requests come in as each server responds.
ParallelUserAgent is basically an extension of the current UserAgent and
RobotUA modules that come with libwww5. It installs into the ::Parallel
subtree under the standard LWP directory that ships with libwww5.