- httpclient
Table of Contents
httpclient
'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby. 'httpclient' formerly known as 'http-access2'.
- Project name: httpclient
- Version: 2.1.2
- Author: NAKAMURA, Hiroshi a.k.a. NaHi?
- License: Ruby's
- RAA: http://raa.ruby-lang.org/project/httpclient/
Features;
- methods like GET/HEAD/POST/* via HTTP/1.1.
- HTTPS(SSL), Cookies, proxy, authentication(Digest, NTLM, Basic), etc.
- asynchronous HTTP request
- by contrast with net/http in standard distribution;
- Cookies support
- MT-safe
- streaming POST
- Digest auth
- NTLM auth for WWW-Authenticate
- 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
Bug report or Feature request
Please file a ticket.
- find a similar ticket from http://dev.ctor.org/http-access2/search?ticket=on
- login as an anonymous user (user/user for username and password) from http://dev.ctor.org/http-access2/login
- create a new ticket from http://dev.ctor.org/http-access2/newticket
Thanks in advance.
News
2007-09-22: httpclient/2.1.2
httpclient/2.1.2 is out. The release for negotiate auth support + a workaround for Ubuntu + SonicWALL timeout problem.
Thanks to all of httpclient users for their support.
Have fun!
-> OldNews
Download
- stable: http://dev.ctor.org/download/httpclient-2.1.2.tar.gz (tar + gzip)
- stable: http://dev.ctor.org/download/httpclient-2.1.2.zip (ZIP)
- older versions: http://dev.ctor.org/download/archive/
Gem
You can install httpclient with rubygems.
% gem install httpclient --source http://dev.ctor.org/download/
Changes
version 2.1.2
version 2.1.1
version 2.1.0
version 2.0.9 (as http-access2)
version 2.0.8 (as http-access2)
version 2.0.7 (as http-access2)
version 2.0.6 (as http-access2)
version 2.0.5 (as http-access2)
- Connect/Send/Receive timeout cannot be configured. fixed.
- IPSocket#addr caused SocketError?? on Mac OS X 10.3.6 + ruby-1.8.1 GA. fixed.
- There is a server which does not like 'foo.bar.com:80' style Host header. The server for http://rubyforge.org/export/rss_sfnews.php seems to dislike HTTP/1.1 Host header "Host: rubyforge.net:80". It returns HTTP 302: Found and redirects to the page again, causes HTTPAccess2::Client to raise "retry count exceeded". Keat found that the server likes "Host: rubyforge.net" (not with port number).
version 2.0.4 (as http-access2)
- add Client#redirect_uri_callback interface.
- refactorings and bug fixes found during negative test.
- add SSL test.
version 2.0.3 (as http-access2)
- no_proxy was broken in 2.0.2.
- do not dump 'Host' header under protocol_version == 'HTTP/1.0'
version 2.0.2 (as http-access2)
- do not trust HTTP_PROXY environment variable. set proxy server manually. http://ftp.ics.uci.edu/pub/websoft/libwww-perl/archive/2001h1/0072.html http://ftp.ics.uci.edu/pub/websoft/libwww-perl/archive/2001h1/0241.html http://curl.haxx.se/mail/archive-2001-12/0034.html
- follow ossl2 change.
version 2.0.1 (as http-access2)
- Query was not escaped when query was given as an Array or a Hash. Fixed.
- Do not use http_proxy defined by ENVhttp_proxy? or ENVHTTP_PROXY? if the destination host is 'localhost'.
- Hosts which matches ENVno_proxy? or ENVNO_PROXY? won't be proxyed.
- [,:] separated. ("ruby-lang.org:rubyist.net")
- No regexp. (give "ruby-lang.org", not "*.ruby-lang.org")
- If you want specify hot by IP address, give full address. ("192.168.1.1, 192.168.1.2")
version 2.0 (as http-access2)
- CamelCase to non_camel_case.
- SSL support (requires Ruby/OpenSSL).
- Cookies support. lib/http-access2/cookie.rb is redistributed file which is originally included in Webagent by TAKAHASHI `Maki' Masayoshi. You can download the entire package from http://www.rubycolor.org/arc/.
version J (as http-access2)
- Ruby/1.8 support.
version H (as http-access2)
- HTTP proxy support of version G was broken. Fixed.
version G (as http-access2)
- Changed HTTPAccess2::Client API. Take care.
- Added streaming request API.
- Added WebDAV client sample. No XML related functions for now. i.e, you can PUT/GET files. No PROPGET/PROPPATCH? No versioning? Is this a DAV?
version F (as http-access2)
- Removed dependency to delegate.rb. Kernel.methods in delegate.rb is rather slow...