189 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <!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>
 |