| 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. | |