大家好,谢谢阅读。
为了保证质量,我想建立一个应用程序,可以处理和管理通过互联网从一个特殊运行的应用程序发送的请求和数据。
更具体地说,我希望能够重定向几个url,而不是每个url,以便通过“代理应用程序”工作,因此,如果我有一个请求http://www.google.com和http://www.google.com/search的应用程序,我只希望重定向指向相对路径/搜索的第二个url。
我希望你能明白。
你们有没有一个简单的实现的想法,也许有一个现有的框架来实现这一点?如果你能给我一段代码和一个例子,我将不胜感激。
提前谢谢。
更新:事实上,我需要构建一个应用程序,该应用程序可以“附着”并劫持已经开发的应用程序和数据服务器之间的现有连接,从而可以侦听和修改通过该连接发送的数据。我知道用C这样的高级语言很难做到,但我只是想确定
最佳答案
我不确定我对你的理解是否正确…您想将某些url重定向到“代理应用程序”吗???不是代理服务器?
如果要重定向到代理服务器,则可以执行以下操作:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com/search/");
request.proxy = new WebProxy("http://proxyurl");
HttpWebResponse myWebResponse=(HttpWebResponse)myWebRequest.GetResponse();
或者没有代理服务器:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com/");
HttpWebResponse myWebResponse=(HttpWebResponse)myWebRequest.GetResponse();
您可以让“代理应用程序”提供url,但这是完全不同的情况。在这种情况下,您需要在应用程序和其他应用程序之间使用某种通信方法。您的应用程序可以通过TCP、via WCF或via Pipes连接到其他应用程序。您将url发送到另一个应用程序并为其提供服务。
接下来是另一个部分:代理应用程序是将页面提供给您的请求处理应用程序,还是将页面提供给客户机?那么客户机如何与您的请求处理应用程序通信呢?
更新
听起来你在找类似的东西:
fiddler使您能够检查所有http流量、设置断点和“fiddle”传入或传出数据。fiddler比netmon或其他网络调试器使用起来简单得多,因为它只公开http流量,并且以用户友好的格式公开。
一般来说,您可能希望查看Fiddler。