如何通过python twisted HTTPClient生成POST和GET请求?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过python twisted HTTPClient生成POST和GET请求?相关的知识,希望对你有一定的参考价值。
我正在写一个HTTP客户端。这是一个简单的模拟银行网站。它需要能够发送两种请求:
- 用户登录时:POST / login?user = bob&pass = abc123 HTTP / 1.1主机:bank.com
- 当用户转账时:GET / transfer?to = badguy&amt = 100 HTTP / 1.1主机: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)
答案
你想停止使用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)
以上是关于如何通过python twisted HTTPClient生成POST和GET请求?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过python twisted HTTPClient生成POST和GET请求?
Twisted Python IRC Bot - 如何在 bot 运行命令时监听命令?