2

是否可以在 Delphi 或 C++ 中创建 HTTP 隧道?

我的应用程序连接到几个不属于我工作的公司的 HTTP 服务器。因此,我们的用户需要打开他们的防火墙端口以允许这些连接。我考虑在我的公司创建一个隧道,并通过这个隧道重定向我的应用程序发出的 HTTP 请求。这样,我的客户只需要打开一个端口,隧道就会处理所有请求。所有请求都是使用 indy 组件通过 POST 或 GET 发出的。

编辑:我不能使用 HTTP 代理。我的一些用户已经拥有了自己的 HTTP 代理,并且不可能同时连接到两个不同的代理服务器。

4

3 回答 3

2

这是一个免费的组件,有点旧,但它可以工作,你可以从那里得到灵感

TGpHTTP代理

或者你可以试试这个样本

https://sites.google.com/site/delphibasics/home/delphibasicssnippets/examplesocks4proxybyaphex

https://sites.google.com/site/delphibasics/home/delphibasicssnippets/multi-threadedhttpproxyserver

于 2011-07-19T06:11:56.857 回答
1

正如 Warren P. 和 Rob Kennedy 所建议的,您真的只需要一个代理服务器。不要自己编写隧道,这是一个巨大的矫枉过正,而且绝非易事(编写一个健壮的套接字应用程序比最初看起来更耗时)。

如果您想要一些简单的东西,请查找datapipe.c或 netcat ( nc) unix 命令。SSH 也可以创建隧道(查看 OpenSSH 和 PuTTy 文档)。

于 2011-07-19T05:39:11.530 回答
1

这是一个免费的开源 HTTP-Tunnel 和 UDP-Tunnel:http ://barbatunnel.codeplex.com/

于 2012-01-04T09:28:11.663 回答