A common interface for Ruby's HTTP libraries.

Documentation | Mailing list



HTTPI is available through Rubygems and can be installed via:

$ gem install httpi

or add it to your Gemfile like this:

gem 'httpi', '~> 3.0.0'

Usage example

require "httpi"

# create a request object
request =
request.url = ""

# and pass it to a request method

# use a specific adapter per request
HTTPI.get(request, :curb)

# or specify a global adapter to use
HTTPI.adapter = :httpclient

# and execute arbitary requests
HTTPI.request(:custom, request)

Rack Mock Adapter

To use the Rack mock adapter, please add the rack gem to your gemfile.

SOCKS Proxy Support

To use the the SOCKS proxy support, please add the socksify gem to your gemfile, and add the following code:

require 'socksify'
require 'socksify/http'

to your project.


Continue reading at