2010-07-05 196 views
0

我正在使用使用HTTP的客户端/服务器应用程序,我的目标是向其添加新功能。我可以通过将自己的代码挂接到某些特定事件来扩展客户端,但不幸的是,服务器不可定制。客户端和服务器都在Windows环境中。如何拦截和修改服务器端的HTTP响应?

我目前的问题是,当从服务器收到大量数据时性能很糟糕:传输它需要时间,并且需要时间来处理它。解决方案可能是在服务器端有一个应用程序来执行处理,并只发送结果(这个结果要小得多)。问题是在发送服务器之前没有内置函数来处理来自服务器的响应。

我正在考虑监听端口80上的所有流量,识别相关的HTTP响应,并将它们发送到我的应用程序,同时阻止响应(以避免发送客户端不会处理的大量数据量)。由于我缺乏很多网络知识,所以在思考如何去做时,我有点失落。

我看过一些像WinPCap这样的低级数据包截取方法,但它似乎需要很多工作来做我所需要的。此外,我认为无法使用此API阻止或修改响应。

一个反向代理,允许用户脚本被特定的请求或响应触发将是完美的,但我想知道是否没有更简单的方法来执行此拦截/发送到其他地方的工作。

什么是最简单和最干净的方法来实现这种行为?

谢谢!

回答

1

我结束了一个简单的反向代理来访问HTTP服务器。然后,反向代理从服务器响应中提取相关信息并将其发送到服务器端处理组件,并用客户端用来请求其他组件获取处理结果的ID替换从响应中提取的信息。
http://www.codeproject.com/KB/web-security/HTTPReverseProxy.aspx上的文章对制作反向代理的初稿非常有帮助。

0

嗯....太多的选择。 2想法: 在所有客户端上配置一个Http Proxy。有一些在那里,让你操纵双向(用脚本,插件)。 或 使通过项目一通,侦听端口80和forewards所需要的东西,以8080端口(其中原始的服务器应用程序运行)

的问题是,在服务器应用程序运行的软件的, 什么知识(开发)你有吗? 啊。什么是“大数据”?千字节?兆?技嘉?