витой http-клиент - PullRequest
       33

витой http-клиент

13 голосов
/ 27 января 2010

Я приведу пример, описывающий использование HTTP-клиента Twisted.

После прочтения отличного сообщения в блоге о внутреннем устройстве Twisted я понимаю, как компоненты "Фабрика" и "Протокол" играют свою роль, но мне неясно, как ввести "Запрос" в общее Клиентский поток.

В частности, мне нужно иметь возможность выполнять HTTP-запросы GET и POST к удаленному серверу, используя Twisted.

Обновлено : после обсуждения irc #twisted / #python кажется, что twisted.web2 исчезает в пользу расширения функциональности twisted.web, например. Агент.

Ответы [ 3 ]

17 голосов
/ 27 января 2010

Начиная с Twisted 9.0, на самом деле доступны два HTTP-клиента. У более старой версии довольно много функций, таких как автоматическое отслеживание перенаправлений, интерпретация заголовков файлов cookie и т. Д. Пример его использования можно найти здесь:

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

(getpage.py и dlpage.py)

К сожалению, интерфейс, представленный старым клиентом, усложняет ряд общих задач. Например, используя getPage, вы не можете проверить произвольные заголовки ответа.

Более новый HTTP-клиент еще не так хорош, как старый, но он представляет интерфейс, предназначенный для устранения ограничений getPage. Он также предназначен для более простого расширения и настройки. Вы можете найти документ, описывающий его использование здесь:

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

2 голосов
/ 20 октября 2013

Я начал использовать treq с витой. Treq имеет API, который очень похож на запросы. https://pypi.python.org/pypi/treq/0.2.0

1 голос
/ 23 марта 2011

Начиная с Twisted 10, вы можете использовать класс Agent.

Пожалуйста, перейдите по этой ссылке: http://twistedmatrix.com/documents/10.2.0/web/howto/client.html

...