Cuantos de nosotros no hemos estado trabajando con httplib2 y tenido que escribir código no Python (No pythonic way) mientras programamos algún proyecto el cual requiera cierta comunicación externa y nuestro código no queda como queremos, para ayudarnos ahi llega Request.
Bueno para no cansarles mas el cuento he aqui algunos ejemplos de esta maravillosa libreria:
Simple GET request
import json
import requests
resultado = requests.get('url.api') #awesome verdad?
Basic Auth request
## Y asi es un simple GET request con basic auth
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
r.status_code
200
r.headers['content-type']
'application/json; charset=utf8'
r.encoding
##
Post request con un json payload:
##
import json
import requests
rawPayload = {'nombre' : 'nombre'}
resultado = requests.post('url.api',data=json.dumps(rawPayload))
##
Post request para enviar un archivo:
##
import requests
file = open('tu_archivo.file','r')
result = requests.post('url.api',file={ 'file':file })
##
Referencias: