<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>The httplib2 Library &mdash; httplib2 v0.4 documentation</title>
    <link rel="stylesheet" href="_static/default.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
          URL_ROOT:    '',
          VERSION:     '0.4',
          COLLAPSE_MODINDEX: false,
          FILE_SUFFIX: ''
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/interface.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="contents" title="Global table of contents" href="contents.html" />
    <link rel="index" title="Global index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="top" title="httplib2 v0.4 documentation" href="" />
    <link rel="next" title="httplib2 A comprehensive HTTP client library." href="libhttplib2.html" />
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="modindex.html" title="Global Module Index"
             accesskey="M">modules</a> |</li>
        <li class="right" >
          <a href="libhttplib2.html" title="httplib2 A comprehensive HTTP client library."
             accesskey="N">next</a> |</li>
        <li><a href="">httplib2 v0.4 documentation</a> &raquo;</li>
      </ul>
    </div>
    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  
  <div class="section" id="the-httplib2-library">
<h1 id="the-httplib2-library">The httplib2 Library<a class="headerlink" href="#the-httplib2-library" title="Permalink to this headline">¶</a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field"><th class="field-name">Author:</th><td class="field-body">Joe Gregorio</td>
</tr>
<tr class="field"><th class="field-name">Date:</th><td class="field-body">Mar 8, 2007</td>
</tr>
</tbody>
</table>
<div class="topic">
<p class="topic-title first">Abstract</p>
<p>The <a title="" class="reference external" href="libhttplib2.html"><tt class="xref docutils literal"><span class="pre">httplib2</span></tt></a> module is a comprehensive HTTP client library that handles
caching, keep-alive, compression, redirects and many kinds of authentication.</p>
</div>
<p>Contents:</p>
<ul>
<li><a class="reference external" href="libhttplib2.html"><tt class="docutils literal"><span class="pre">httplib2</span></tt>  A comprehensive HTTP client library.</a><ul>
<li><a class="reference external" href="libhttplib2.html#id1">Http Objects</a></li>
<li><a class="reference external" href="libhttplib2.html#id2">Cache Objects</a></li>
<li><a class="reference external" href="libhttplib2.html#id3">Response Objects</a></li>
<li><a class="reference external" href="libhttplib2.html#examples">Examples</a></li>
</ul>
</li>
</ul>
<div class="section" id="indices-and-tables">
<h2 id="indices-and-tables">Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><a class="reference external" href="genindex.html"><em>Index</em></a></li>
<li><a class="reference external" href="modindex.html"><em>Module Index</em></a></li>
<li><a class="reference external" href="search.html"><em>Search Page</em></a></li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h3>Table Of Contents</h3>
            <ul>
<li><a class="reference external" href="">The httplib2 Library</a><ul>
<li><a class="reference external" href="#indices-and-tables">Indices and tables</a></li>
</ul>
</li>
</ul>

            <h4>Next topic</h4>
            <p class="topless"><a href="libhttplib2.html" title="next chapter"><tt class="docutils literal"><span class="pre">httplib2</span></tt>  A comprehensive HTTP client library.</a></p>
            <h3>This Page</h3>
            <ul class="this-page-menu">
              <li><a href="_sources/index.txt">Show Source</a></li>
            </ul>
            <h3>Quick search</h3>
            <form class="search" action="search.html" method="get">
              <input type="text" name="q" size="18" /> <input type="submit" value="Go" />
              <input type="hidden" name="check_keywords" value="yes" />
              <input type="hidden" name="area" value="default" />
            </form>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="modindex.html" title="Global Module Index"
             accesskey="M">modules</a> |</li>
        <li class="right" >
          <a href="libhttplib2.html" title="httplib2 A comprehensive HTTP client library."
             accesskey="N">next</a> |</li>
        <li><a href="">httplib2 v0.4 documentation</a> &raquo;</li>
      </ul>
    </div>
    <div class="footer">
      &copy; Copyright 2008, Joe Gregorio.
      Last updated on Sep 06, 2008.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
    </div>
  </body>
</html>