Как сгенерировать POST и GET запрос с помощью Python Twisted HTTPClient? - PullRequest
0 голосов
/ 18 марта 2019

Я пишу HTTP-клиент. Это простой макет банковского сайта. Он должен быть в состоянии отправить два вида запроса:

  1. При входе пользователя в систему: POST / логин? User = bob & pass = abc123 HTTP / 1.1 Host: bank.com
  2. Когда пользователь переводит деньги: ПОЛУЧИТЬ / передать? To = badguy & amt = 100 HTTP / 1.1 Host: bank.com Cookie: login = fde874

Я реализую его с помощью Python Twisted, я пишу подкласс HTTPClient:

class BankClient(HTTPClient):
    def genReq():
       # How to write code to generate and send the Two request?

    def connectionMode(self):
        genReq()



class BankCllientFactory(ClientFactory):
    protocol = BankClient
    def __init__(self):
       self.done = Defered()


def main(reactor):
   factory= BankClientFactory()
   reactor.connectTCP('localhost',8080,factory)
   return factory.done
if __name__ =='__main__':
    task.react(main)

1 Ответ

0 голосов
/ 18 марта 2019

Вы хотите прекратить использование HTTPClient.Вместо этого используйте Agent или стороннее treq.

Для создания GET и POST с Agent:

from twisted.web.client import Agent
from twisted.internet import reactor
agent = Agent(reactor)
d_get = agent.request(b"GET", uri)
d_post = agent.request(b"POST", uri)

Для генерации GET и POST с treq:

import treq
d_get = treq.get(url)
d_post = treq.post(url)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...