重定向到另一个代理的问题,在 c#

问题描述

昨天,我用 Titanium.Web.Proxy 开始了一个非常简单的项目,用于测试库。它包括将所有请求重定向到我公司的代理,以及我的用户和我的通行证。我被卡在这里了。我能够收到来自 chrome 的所有请求(这很好!),但是将它们发送给公司的代理......那是另一回事了。 即使它是一个肮脏的解决方案,我也尝试处理库外部的请求以使用 SessionEventArgs.Respond 返回生成的字节数组,但失败了。如前所述,这是一个肮脏的解决方案,完全在图书馆之外。 所以,我的问题是:如何使用 Titanium.Web.Proxy 在上网之前将收到的请求重定向到另一个代理?

解决方法

github readme 上的示例有一个(已注释掉的)示例:

proxyServer.UpStreamHttpProxy = new ExternalProxy() { HostName = "localhost",Port = 8888 };
proxyServer.UpStreamHttpsProxy = new ExternalProxy() { HostName = "localhost",Port = 8888 };

ExternalProxy 也有 UsernamePassword 属性,所以我也会尝试使用这些属性

附加:您还可以使用 ExternalProxy.UseDefaultCredentials 来使用 CredentialCache.DefaultNetworkCredentials,即:

表示当前用户或应用程序的网络凭据的 NetworkCredential。`