| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html> |
| <head> |
| <link rel="STYLESHEET" href="ref.css" type='text/css' /> |
| <link rel="first" href="ref.html" title='The httplib2 Library' /> |
| <link rel='contents' href='contents.html' title="Contents" /> |
| <link rel='last' href='about.html' title='About this document...' /> |
| <link rel='help' href='about.html' title='About this document...' /> |
| <link rel="prev" href="response-objects.html" /> |
| <link rel="parent" href="module-httplib2.html" /> |
| <link rel="next" href="about.html" /> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <meta name='aesop' content='information' /> |
| <title>1.1.4 Examples </title> |
| </head> |
| <body> |
| <div class="navigation"> |
| <div id='top-navigation-panel' xml:id='top-navigation-panel'> |
| <table align="center" width="100%" cellpadding="0" cellspacing="2"> |
| <tr> |
| <td class='online-navigation'><a rel="prev" title="1.1.3 response Objects" |
| href="response-objects.html"><img src='previous.png' |
| border='0' height='32' alt='Previous Page' width='32' /></a></td> |
| <td class='online-navigation'><a rel="parent" title="1.1 httplib2 A comprehensive" |
| href="module-httplib2.html"><img src='up.png' |
| border='0' height='32' alt='Up one Level' width='32' /></a></td> |
| <td class='online-navigation'><a rel="next" title="About this document ..." |
| href="about.html"><img src='next.png' |
| border='0' height='32' alt='Next Page' width='32' /></a></td> |
| <td align="center" width="100%">The httplib2 Library</td> |
| <td class='online-navigation'><a rel="contents" title="Table of Contents" |
| href="contents.html"><img src='contents.png' |
| border='0' height='32' alt='Contents' width='32' /></a></td> |
| <td class='online-navigation'><img src='blank.png' |
| border='0' height='32' alt='' width='32' /></td> |
| <td class='online-navigation'><img src='blank.png' |
| border='0' height='32' alt='' width='32' /></td> |
| </tr></table> |
| <div class='online-navigation'> |
| <b class="navlabel">Previous:</b> |
| <a class="sectref" rel="prev" href="response-objects.html">1.1.3 Response Objects</a> |
| <b class="navlabel">Up:</b> |
| <a class="sectref" rel="parent" href="module-httplib2.html">1.1 httplib2 A comprehensive</a> |
| <b class="navlabel">Next:</b> |
| <a class="sectref" rel="next" href="about.html">About this document ...</a> |
| </div> |
| <hr /></div> |
| </div> |
| <!--End of Navigation Panel--> |
| |
| <h2><a name="SECTION002140000000000000000"></a><a name="httplib2-example"></a> |
| <br> |
| 1.1.4 Examples |
| </h2> |
| |
| <p> |
| To do a simple <code>GET</code> request just supply the absolute URI |
| of the resource: |
| |
| <p> |
| <div class="verbatim"><pre> |
| import httplib2 |
| h = httplib2.Http() |
| resp, content = h.request("http://bitworking.org/") |
| assert resp.status == 200 |
| assert resp['content-type'] == 'text/html' |
| </pre></div> |
| |
| <p> |
| Here is more complex example that does a PUT |
| of some text to a resource that requires authentication. |
| The Http instance also uses a file cache |
| in the directory <code>.cache</code>. |
| |
| <p> |
| <div class="verbatim"><pre> |
| import httplib2 |
| h = httplib2.Http(".cache") |
| h.add_credentials('name', 'password') |
| resp, content = h.request("https://example.org/chap/2", |
| "PUT", body="This is text", |
| headers={'content-type':'text/plain'} ) |
| </pre></div> |
| |
| <p> |
| Here is an example that connects to a server that |
| supports the Atom Publishing Protocol. |
| |
| <p> |
| <div class="verbatim"><pre> |
| import httplib2 |
| h = httplib2.Http() |
| h.add_credentials(myname, mypasswd) |
| h.follow_all_redirects = True |
| headers = {'Content-Type': 'application/atom+xml'} |
| body = """<?xml version="1.0" ?> |
| <entry xmlns="http://www.w3.org/2005/Atom"> |
| <title>Atom-Powered Robots Run Amok</title> |
| <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> |
| <updated>2003-12-13T18:30:02Z</updated> |
| <author><name>John Doe</name></author> |
| <content>Some text.</content> |
| </entry> |
| """ |
| uri = "http://www.example.com/collection/" |
| resp, content = h.request(uri, "POST", body=body, headers=headers) |
| </pre></div> |
| |
| <p> |
| Here is an example of providing data to an HTML form processor. |
| In this case we presume this is a POST form. We need to take our |
| data and format it as "application/x-www-form-urlencoded" data and use that as a |
| body for a POST request. |
| |
| <p> |
| <div class="verbatim"><pre> |
| >>> import httplib2 |
| >>> import urllib |
| >>> data = {'name': 'fred', 'address': '123 shady lane'} |
| >>> body = urllib.urlencode(data) |
| >>> body |
| 'name=fred&address=123+shady+lane' |
| >>> h = httplib2.Http() |
| >>> resp, content = h.request("http://example.com", method="POST", body=body) |
| </pre></div> |
| |
| <p> |
| Here is an example of using a proxy server: |
| <div class="verbatim"><pre> |
| import httplib2 |
| import socks |
| |
| httplib2.debuglevel=4 |
| h = httplib2.Http(proxy_info = httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP, 'localhost', 8000)) |
| r,c = h.request("http://bitworking.org/news/") |
| </pre></div> |
| |
| <p> |
| |
| <p> |
| <IMG |
| WIDTH="556" HEIGHT="20" ALIGN="BOTTOM" BORDER="0" |
| SRC="img1.png" |
| ALT="\begin{center}\vbox{\input{modref.ind} |
| }\end{center}"> |
| <p> |
| |
| <p> |
| |
| <div class="navigation"> |
| <div class='online-navigation'> |
| <p></p><hr /> |
| <table align="center" width="100%" cellpadding="0" cellspacing="2"> |
| <tr> |
| <td class='online-navigation'><a rel="prev" title="1.1.3 response Objects" |
| href="response-objects.html"><img src='previous.png' |
| border='0' height='32' alt='Previous Page' width='32' /></a></td> |
| <td class='online-navigation'><a rel="parent" title="1.1 httplib2 A comprehensive" |
| href="module-httplib2.html"><img src='up.png' |
| border='0' height='32' alt='Up one Level' width='32' /></a></td> |
| <td class='online-navigation'><a rel="next" title="About this document ..." |
| href="about.html"><img src='next.png' |
| border='0' height='32' alt='Next Page' width='32' /></a></td> |
| <td align="center" width="100%">The httplib2 Library</td> |
| <td class='online-navigation'><a rel="contents" title="Table of Contents" |
| href="contents.html"><img src='contents.png' |
| border='0' height='32' alt='Contents' width='32' /></a></td> |
| <td class='online-navigation'><img src='blank.png' |
| border='0' height='32' alt='' width='32' /></td> |
| <td class='online-navigation'><img src='blank.png' |
| border='0' height='32' alt='' width='32' /></td> |
| </tr></table> |
| <div class='online-navigation'> |
| <b class="navlabel">Previous:</b> |
| <a class="sectref" rel="prev" href="response-objects.html">1.1.3 Response Objects</a> |
| <b class="navlabel">Up:</b> |
| <a class="sectref" rel="parent" href="module-httplib2.html">1.1 httplib2 A comprehensive</a> |
| <b class="navlabel">Next:</b> |
| <a class="sectref" rel="next" href="about.html">About this document ...</a> |
| </div> |
| </div> |
| <hr /> |
| <span class="release-info">Release 0.3, documentation updated on Mar 8, 2007.</span> |
| </div> |
| <!--End of Navigation Panel--> |
| |
| </body> |
| </html> |