gpt4 book ai didi

c# - 具有自动代理登录的 WebBrowser 控件

转载 作者:太空狗 更新时间:2023-10-29 17:55:33 24 4
gpt4 key购买 nike

我有一个包含 WebBrowser 控件的 Windows 窗体应用程序。 WebBrowser 的想法是在没有用户交互的情况下浏览网站。 WebBrowser 通过代理访问互联网。

我可以看到请求通过代理,但由于代理身份验证失败,它们被拒绝了。

我添加了 Proxy-Authorization: Basic header 。这适用于普通的 http 页面,但它似乎不起作用 https:

var credentialStringValue = "proxyUser:proxyPassword";
byte[] credentialByteArray = ASCIIEncoding.ASCII.GetBytes(credentialStringValue);
var credentialBase64String = Convert.ToBase64String(credentialByteArray);

string Headers = string.Format("Proxy-Authorization: Basic {0}{1}", credentialBase64String, Environment.NewLine);

ws.Navigate(url,TargetFrameName,PostData,Headers);

其中 ws 等于 new WebBrowser()。凭据是正确的,因为它在我手动执行时有效。

关于如何以编程方式验证代理凭据的任何想法?

最佳答案

 // do what you want with proxy class
WebProxy webProxy = new WebProxy(host, port)
{
Credentials = ...
}

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://example.com");
webRequest.Proxy = webProxy;

HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
Stream receiveStream = response.GetResponseStream();

WebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentStream = receiveStream;

关于c# - 具有自动代理登录的 WebBrowser 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6184675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com