我根据这个https://gist.github.com/voorloopnul/415cb75a3e4f766dc590#file-proxy-py写了一个反向代理。你知道吗
我需要这个来覆盖客户端的身份验证信息。喜欢跟在后面。你知道吗
Client(passA) ---> Proxy(overwrite passA into passB) ---> Server(passB)
其中passB是正确的密码,passA是随机数。你知道吗
算法是SCRAMSHA256,有点复杂,但我设法做到这一点。 当代理和服务器不在同一台机器上时,事件处理可以很好地工作。 我尝试在windows和linux上部署代理。代理使用“ip地址”指向服务器
然而,当代理使用'localhost'指向服务器时,它被破坏了,身份验证无法通过某个客户机(我为其制作了代理)。但对于其他客户,它也很有效。你知道吗
这不应该是封装的并且对用户是透明的吗?你知道吗
为什么localhost如此特殊,我如何解决这个问题?你知道吗
身份验证失败,因为客户端直接连接到服务器,所以我的代理不会修改密码。你知道吗
Condition 1: Proxy on another machine. The proxy works.
Client(192.168.1.1) ==> Proxy(192.168.1.3:8000) ==> Server(192.168.1.2:6000)
-
Condition 2: Proxy on the same machine as the Server.
The proxy listen 0.0.0.0:8000 and forward packets to localhost:6000.
Client(192.168.1.1) ==> Proxy(192.168.1.2:8000) ==> Server(192.168.1.2:6000)
After the first connection, the rest connection becomes
Client(192.168.1.1) =====> Server(192.168.1.2:6000) without proxy.
这使得代理不再有效。 为什么客户会在条件2中跳过它?你知道吗
你可以使用前瞻。由于您可能会不止一次地使用此模式,所以将其创建为静态最终变量:
我建议使用捕获组来真正获取您感兴趣的内容。没有理由不重复
如果字符串模式没有太多变化,我会选择
那你可能不得不这么做。trim()数组中的元素“number”
之后,你可以用空格连接数字[0-2]
通过regex和regex-ony。锚
\G
在上一次匹配结束的位置匹配输出:
另一个例子是许多冒号分隔的部分
输出:
参考文献:
更新:
相关问题 更多 >
编程相关推荐