¿Cómo configurar encabezados de solicitud en el modo de obtención de solicitudes de Python?
123456789101112#?-*-?Codificación: utf-8? -*-
¿Importar? ¿urllib2importar? urlliburl? =?'' ¿media_url? =?u'/servlet/av/jd?
ai = 782 & ampji = 2624743 & ampSn=I'#Construct get req? =?urllib2.
Solicitud(url+half_url.
encode('utf-8')# Agregar encabezado req.Add_header('AcceptEncoding',?gzip,deflate') solicitud.
add_header('UserAgent', 'Mozilla/5.0') respuesta? =?urllib2.
urlopen(request)
>Las solicitudes admiten cargas en streaming, lo que le permite envíe grandes flujos de datos o archivos sin leerlos primero en la memoria. Para usar cargas en streaming, simplemente proporcione un objeto similar a un archivo para el cuerpo de su solicitud.
Lea el archivo en bytes para que la solicitud produzca el archivo. longitud correcta del contenido.
¿Qué usar? F:
requests.post('http://some.URL/streamsed',?data=f)
codificación de transferencia fragmentada
RequestsAlso admite codificación de transferencia fragmentada para solicitudes entrantes y salientes, simplemente proporcione un generador para el cuerpo de la solicitud.
Tenga en cuenta que. la salida del generador debe ser bytes
def?gen():
Hola
"there"
requests . http://some . URL/chunked ', ?data=gen())
Para respuestas codificadas fragmentadas, es mejor iterar sobre los datos
usando ?Response.iter_content () en el caso ideal. stream=True? En este caso, puede establecer el parámetro de tamaño llamando a iter_content. El tamaño máximo del bloque, puede establecer el parámetro de bloque
en cualquier número entero .