我正在尝试编写一个 python 应用程序来侦听套接字上的 HTTP 响应。我为此使用http-parser。这是我的代码:
#!/usr/bin/env python
import socket
from http_parser.http import HttpStream
from http_parser.reader import SocketReader
from http_parser.util import b
def main():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 7000))
s.listen(5)
try:
while True:
p = HttpStream(SocketReader(s))
finally:
s.close()
if __name__ == "__main__":
main()
我有两个问题:
- 这是最好的方法吗?请注意,我不想发送请求然后收听响应。我想要一个重定向机制,将所有响应重定向到运行此脚本的框。
- 我应该如何测试这个?有没有可以模拟 HTTP 响应的工具?
编辑 我想要做的是:我有三个盒子,一旦运行 Apache,一个运行这个脚本,一个是客户端。当客户端连接到 Apache 并发送回响应时,我将响应转移到此框。所以在这个脚本中,我试图监听 HTTP 响应。
拓扑 这是我的拓扑: 服务器 <----> 交换机一 <-----> 交换机二 <-----> 框一和二 最初,框一连接到服务器并发送请求。当第二个交换机接收到来自服务器的响应时,它会将其分叉到框一和框二。