69 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
| httplib2 for Python 3
 | |
| 
 | |
| This directory contains a port of httplib2 to Python 3. As you may
 | |
| know, Python 3 is not backward-compatible with Python 2. The biggest
 | |
| change in Python 3 (that affects httplib2) is the distinction between
 | |
| bytes and strings.
 | |
| 
 | |
| To successfully use http2lib for Python 3, you absolutely must
 | |
| understand the following sentence:
 | |
| 
 | |
| ** THE RESPONSE HEADERS ARE STRINGS, BUT THE CONTENT BODY IS BYTES **
 | |
| 
 | |
| 
 | |
| Example:
 | |
| 
 | |
| >>> import httplib2, pprint
 | |
| >>> h = httplib2.Http(".cache")
 | |
| >>> (resp_headers, content) = h.request("http://example.org/", "GET")
 | |
| >>> pprint.pprint(resp_headers)
 | |
| {'accept-ranges': 'bytes',
 | |
|  'connection': 'close',
 | |
|  'content-length': '438',
 | |
|  'content-location': 'http://example.org/',
 | |
|  'content-type': 'text/html; charset=UTF-8',
 | |
|  'date': 'Fri, 29 May 2009 03:57:29 GMT',
 | |
|  'etag': '"b80f4-1b6-80bfd280"',
 | |
|  'last-modified': 'Tue, 15 Nov 2005 13:24:10 GMT',
 | |
|  'server': 'Apache/2.2.3 (CentOS)',
 | |
|  'status': '200'}
 | |
| >>> type(content)
 | |
| <class 'bytes'>
 | |
| >>> content[:49]
 | |
| b'<HTML>\r\n<HEAD>\r\n  <TITLE>Example Web Page</TITLE>'
 | |
| 
 | |
| 
 | |
| Further reading:
 | |
| 
 | |
|   * http://diveintopython3.org/strings.html
 | |
|   * http://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
 | |
|   * http://docs.python.org/3.0/howto/unicode.html
 | |
| 
 | |
| 
 | |
| --------------------------------------------------------------------
 | |
| Httplib2 Software License
 | |
| 
 | |
| Copyright (c) 2006 by Joe Gregorio
 | |
| Copyright (c) 2009 by Mark Pilgrim
 | |
| 
 | |
| Permission is hereby granted, free of charge, to any person 
 | |
| obtaining a copy of this software and associated documentation 
 | |
| files (the "Software"), to deal in the Software without restriction, 
 | |
| including without limitation the rights to use, copy, modify, merge, 
 | |
| publish, distribute, sublicense, and/or sell copies of the Software, 
 | |
| and to permit persons to whom the Software is furnished to do so, 
 | |
| subject to the following conditions:
 | |
| 
 | |
| The above copyright notice and this permission notice shall be 
 | |
| included in all copies or substantial portions of the Software.
 | |
| 
 | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
 | |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
 | |
| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
 | |
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 
 | |
| BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
 | |
| ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
 | |
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
 | |
| SOFTWARE.
 | |
| 
 |