You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
6.6 KiB
189 lines
6.6 KiB
<!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>
|