[ANN] httpclient/2.1.6


Hiroshi Nakamura

Hi all,

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. =A0See the last of this
mail for more detail.

=3D=3D What's this?

httpclient - HTTP accessing library.
Copyright (C) 2000-2010 NAKAMURA, Hiroshi <[email protected]>.

'httpclient' gives something like the functionality of libwww-perl (LWP) in
Ruby. 'httpclient' formerly known as 'http-access2'.

=3D=3D Features

* 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
* MT-safe
* 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;
rubysspi gem)
* extensible with filter interface
* you don't have to care HTTP/1.1 persistent connection
(httpclient cares instead of you)

* Not supported now
* Cache
* Rather advanced HTTP/1.1 usage such as Range, deflate, etc.
(of course you can set it in header by yourself)

=3D=3D Author

Name:: NAKAMURA, Hiroshi
E-mail:: (e-mail address removed)
Project web site:: http://github.com/nahi/httpclient

=3D=3D License

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.

=3D=3D API Document


=3D=3D Changes in 2.1.6

* 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 i=
httpclient 2.1.5 expires in Dec 31, 2010. Please update to 2.1.6 i=
you're on such an environment.
* Updated trusted CA certificates file (cacert.p7s and cacert_sha1.p7=
CA certs are imported from
'Java(TM) SE Runtime Environment (build 1.6.0_22-b04)'.

* IMPORTANT bug fix for persistent connection
* #29 Resource Leak: If httpclient establishes two connections to the
same server in parallel, one of these connections will be leaked, p=
by xb.
* #30 When retrying a failed persistent connection, httpclient should=
a fresh connection, reported by xb.
These 2 fixes should fix 'Too many open files' error as well if you=
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 Teshoot=
All you need to use it is done by;
client.transparent_gzip_decompression =3D true
Then you can retrieve a document as usural in decompressed format.
* #38 Debug dump binary data (checking it includes \0 or not) in hex
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 304
with no Content-Length.
* #11 Possible data corruption problem in asynchronous methods, patch=
a user. (http://dev.ctor.org/http-access2/ticket/228)
* #13 illegal Cookie PATH handling. When no PATH part given in Set-Co=
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, pat=
by meuserj.
* #20 Relative Location on https redirect fails, patch by zenchild.
* #22 IIS/6 + MicrosoftSharePointTeamServices uses "NTLM" instead of
* #27 DigestAuth header: 'qop' parameter must not be enclosed between
double quotation, patch by ibc.
* #36 Wrong HTTP version in headers with Qt4 applications, reported b=
* #38 DigestAuth + posting IO fails, patch by chetan.
* #41 https-over-proxy fails with IIS, patch by tai.

// NaHi


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question