| Module Info
| Add a review of HTTP-Tiny
I replaced LWP::UserAgent with HTTP::Tiny! Why? The timeout implementation of LWP::UserAgent is evil. It's not possible to set a global timeout and eval + alarm does not work on Win32 systems.
HTTP::Tiny uses non-blocking and the timeout implementation works very well.
Yes, I know, HTTP::Tiny has no implementation for compression... but everyone should be able to write the 5 lines of code for IO::Uncompress::Gunzip. Maybe David implements compression in the future, but it's not important.
Thank you for this great module!
HTTP-Tiny is my go-to scraping module. It works like a charm: combined with HTTP::CookieJar I'm able to get the data I need from websites.
As you know, LWP::UserAgent is powerful and enough to use and Net::Curl is really fast. But HTTP::Tiny is powerful and light-weight. Even you can do everything for HTTP with it, there is no more dependency except core modules. Since it is light weight and has no dependency, so this is best for your tiny script or little module.
If you want deal HTTPS then you will need non-core modules like IO::Socket::SSL and Net::SSLeay. So don't forget installing them. :)
Very handy little module for when you just need HTTP.
LWP::UserAgent is arguably nicer, but when you're just trying to access a JSON API you start asking yourself, "what the hell do I need to install HTML::Entities and IO::HTML for?"
And because HTTP::Tiny and JSON::PP are available in Perl core (since 5.14) using JSON APIs from Perl have become very convenient.
I love the direction this module is going. In our web-connected world, nothing is more important then a fast and flexible web client. Sure LWP is a workhorse, but it is starting to show it's age.
This module is what is called a HTTP/1.1 client. Of course, there are several modules of this sort out there, but the module is useful and handy for at least me.
It's worth noting that the author claims that it is more correct and more complete than HTTP::Lite.
In any case, I'd like to recommend the module for all!