2010-01-27 15 views
13

Estoy buscando un ejemplo que describa el uso de Twisted's HTTP Client.twisted http client

Después de leer el excelente blog post on the internals of Twisted, entiendo cómo los componentes "Fábrica" ​​y "Protocolo" desempeñan su papel, pero no estoy seguro de cómo introducir "Solicitud" en el flujo total del Cliente.

Más específicamente, necesito poder realizar solicitudes HTTP GET y POST a un servidor remoto utilizando Twisted.

Actualizado: después de una discusión en el IRC#twisted/#python, parece que twisted.web2 está desvaneciendo a favor de la funcionalidad reforzando el ejemplo twisted.web Agente.

Respuesta

17

A partir de Twisted 9.0, en realidad hay dos clientes HTTP disponibles. El más viejo tiene bastantes características, tales como seguir automáticamente vuelve a dirigir, interpretar los encabezados de galletas, etc. Se puede encontrar un ejemplo de su uso aquí:

http://twistedmatrix.com/documents/current/web/examples/

(getpage.py y dlpage.py)

Desafortunadamente , la interfaz presentada por el cliente anterior dificulta una cantidad de tareas comunes. Por ejemplo, usando getPage, no puede examinar los encabezados de respuesta arbitrarios.

El cliente HTTP más nuevo aún no es tan funcional como el anterior, pero presenta una interfaz destinada a eliminar las limitaciones de getPage. También está pensado para ampliarse y personalizarse más fácilmente. Puede encontrar un documento que describe su uso aquí:

http://twistedmatrix.com/documents/current/web/howto/client.html

+0

¡Maravilloso! ¡Exactamente lo que necesito! – jldupont

+1

... excepto que solo está disponible en 9.0.0 ... arhhh! – jldupont

+5

¿Prefiere que dejemos de mejorar, para que las nuevas versiones no contengan nada bueno? :) – Glyph