使用代理的SSL页面时WebRequest删除授权标头

时间:2019-07-04 02:41:32

标签: c# proxy system.net.httpwebrequest

我正在尝试使用WebRequest和具有基本授权的代理连接到网站。当连接到http站点可以正常工作,但是如果我尝试连接到https站点会出现401错误,当我尝试连接到https站点时正在查看网络监视器,不知道为什么Authorization标头不存在。

已经尝试在代理和WebRequest上同时添加NetworkCredentials,也没有运气。

IWebProxy proxy = new WebProxy("http://proxyaddress:port");
                    HttpWebRequest conn = (HttpWebRequest)WebRequest.Create(WEBSERVICE_URL);
                    conn.Method = "GET";
                    String encoded = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("username:password"));
                    conn.Headers.Add("Authorization", "Basic " + encoded);
                    conn.PreAuthenticate = true;
                    conn.Proxy = proxy;
                    conn.GetResponse();

1 个答案:

答案 0 :(得分:0)

我最近遇到了一个问题,我们的公司代理在发出外部API请求以防止泄漏时剥夺了基本身份验证标头(因为它不安全),唯一的解决方法是为该URL订购开发者代理,以便没有身份验证或拦截的地方。如果您有权访问代理,请尝试将其配置为允许基本身份验证。