'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby.

Josh McInnes 3efedc6578 Update version number 2 years ago
bench bb5ed6c7a5 * cosmetic. 15 years ago
bin c32e243c45 Add strict_response_size_check option 7 years ago
dist_key ce3db6cd16 Update trusted CA cert. 13 years ago
lib 3efedc6578 Update version number 2 years ago
sample 66771cfe42 Update auth.rb 7 years ago
test a3ac61460d Attempt to make test pass 3 years ago
.gitignore 950938688c prepare gem for gemfury 2 years ago
.travis.yml 5be48d6b57 Update Travis rvm versions 3 years ago
CHANGELOG.md 0baa850ed3 Remove safe navigation operator 2 years ago
Gemfile 4ca6faa8a9 Bump rack version 3 years ago
README.md 950938688c prepare gem for gemfury 2 years ago
Rakefile 950938688c prepare gem for gemfury 2 years ago
httpclient.gemspec 950938688c prepare gem for gemfury 2 years ago

README.md

httpclient - HTTP accessing library. Gem Version

Copyright (C) 2000-2015 NAKAMURA, Hiroshi nahi@ruby-lang.org.

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

See HTTPClient for documentation.

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.
  • debug mode CLI.
  • 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/ntlm 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)

httpclient command

Usage: 1) httpclient get https://www.google.co.jp/?q=ruby
Usage: 2) httpclient

For 1) it issues a GET request to the given URI and shows the wiredump and the parsed result. For 2) it invokes irb shell with the binding that has a HTTPClient as 'self'. You can call HTTPClient instance methods like;

get "https://www.google.co.jp/", :q => :ruby

Author

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 it is copyrighted by Maebashi-san who made and published http-access/0.0.4. http-access/0.0.4 did not include license notice but when I asked Maebashi-san he agreed that I can redistribute it under the same terms of Ruby. Many thanks to Maebashi-san.

Install

You can install httpclient via rubygems: gem install httpclient

Usage

See HTTPClient for documentation. You can also check sample/howto.rb how to use APIs.

Bug report or Feature request

Please file a ticket at the project web site.

  1. find a similar ticket from https://github.com/nahi/httpclient/issues
  2. create a new ticket by clicking 'Create Issue' button.
  3. you can use github features such as pull-request if you like.

Changes

See ChangeLog

Release

Prerequisites:

  • install gemfury client with gem install gemfury

To release a new version:

  • create a branch from master
  • update the version number in ./lib/httpclient/version,
  • update the CHANGELOG.md
  • create a Pull Request, get it approved and merged to master
  • checkout master and run rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to gemfury.com.