httpclient/2.1.6 has been released.
This release includes IMPORTANT update for HTTPS(SSL) connection.
Trusted CA bundle file cacert_sha1.p7s for older environment (where
you cannot use SHA512 algorithm such as an old Mac OS X) included in
httpclient 2.1.5 expires in Dec 31, 2010. Please update to 2.1.6 if
you’re on such an environment.
It also includes new features and bug fixes. See the last of this
mail for more detail.
== What’s this?
httpclient - HTTP accessing library.
Copyright © 2000-2010 NAKAMURA, Hiroshi [email protected].
‘httpclient’ gives something like the functionality of libwww-perl (LWP)
Ruby. ‘httpclient’ formerly known as ‘http-access2’.
methods like GET/HEAD/POST/* via HTTP/1.1.
HTTPS(SSL), Cookies, proxy, authentication(Digest, NTLM, Basic), etc.
asynchronous HTTP request, streaming HTTP request.
by contrast with net/http in standard distribution;
- Cookies support
- streaming POST (POST with File/IO)
- Digest auth
- Negotiate/NTLM auth for WWW-Authenticate (requires net/htlm
module; rubyntlm gem)
- NTLM auth for Proxy-Authenticate (requires ‘win32/sspi’ module;
- extensible with filter interface
- you don’t have to care HTTP/1.1 persistent connection
(httpclient cares instead of you)
Not supported now
- Rather advanced HTTP/1.1 usage such as Range, deflate, etc.
(of course you can set it in header by yourself)
This program is copyrighted free software by NAKAMURA, Hiroshi. You can
redistribute it and/or modify it under the same terms of Ruby’s license;
either the dual license version in 2003, or any later version.
httpclient/session.rb is based on http-access.rb in http-access/0.0.4.
Some part of code in http-access.rb was recycled in http-access2.rb.
Those part is copyrighted by Maehashi-san who made and distributed
http-access/0.0.4. Many thanks to Maehashi-san.
== API Document
== Changes in 2.1.6
* IMPORTANT update for HTTPS(SSL) connection * Trusted CA bundle file cacert_sha1.p7s for older environment
you cannot use SHA512 algorithm such as an old Mac OS X)
httpclient 2.1.5 expires in Dec 31, 2010. Please update to
you’re on such an environment.
* Updated trusted CA certificates file (cacert.p7s and
CA certs are imported from
‘Java™ SE Runtime Environment (build 1.6.0_22-b04)’.
* IMPORTANT bug fix for persistent connection * #29 Resource Leak: If httpclient establishes two connections to
same server in parallel, one of these connections will be
* #30 When retrying a failed persistent connection, httpclient
a fresh connection, reported by xb.
These 2 fixes should fix ‘Too many open files’ error as well if
getting this. Please check 2.1.6 and let me know how it goes!
* Features * #4 Added OAuthClient. See sample clients in sample/ dir. * #42 Added transparent_gzip_decompression property, patch by
All you need to use it is done by;
client.transparent_gzip_decompression = true
Then you can retrieve a document as usural in decompressed
* #38 Debug dump binary data (checking it includes \0 or not) in
encoded format, patch by chetan.
* Bug fixes * #8 Opened certificate and key files for SSL not closed properly. * #10 "get" method gets blocked in "readpartial" when receiving a
with no Content-Length.
* #11 Possible data corruption problem in asynchronous methods,
a user. (http://dev.ctor.org/http-access2/ticket/228)
* #13 illegal Cookie PATH handling. When no PATH part given in
header, URL’s path part should be used for path variable.
* #16 httpclient doesn’t support multiline server headers.
* #19 set_request_header clobbers ‘Host’ header setting if given,
* #20 Relative Location on https redirect fails, patch by
* #22 IIS/6 + MicrosoftSharePointTeamServices uses “NTLM” instead
* #27 DigestAuth header: ‘qop’ parameter must not be enclosed
double quotation, patch by ibc.
* #36 Wrong HTTP version in headers with Qt4 applications,
* #38 DigestAuth + posting IO fails, patch by chetan.
* #41 https-over-proxy fails with IIS, patch by tai.