[英]Set Proxy Credential in Web Browser Control
I am working on a legacy code where an application uses AxSHDocVw.AxWebBrowser
( not System.Windows.Forms.Control
) to open up web pages and am extending it to take proxy into considerations. 我正在研究一个遗留代码,其中应用程序使用
AxSHDocVw.AxWebBrowser
( 而不是 System.Windows.Forms.Control
)来打开网页,并对其进行扩展以考虑代理。
I have following example on http://www.pinvoke.net/default.aspx/wininet/internetsetoption.html to use InternetSetOption()
to go through specified proxy and tested that it works. 我在http://www.pinvoke.net/default.aspx/wininet/internetsetoption.html上有以下示例,可以使用
InternetSetOption()
来检查指定的代理并测试其是否有效。
Now the hurdle is I tried everything but failed to pass username and password with following code: 现在的障碍是我尝试了所有操作,但未能通过以下代码传递用户名和密码:
//-- Set Proxy Username
bool resultF = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY_USERNAME, username, username.Length+1);
var errorF = Marshal.GetLastWin32Error();
//-- Set Proxy Password
bool resultG = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY_PASSWORD, password, password.Length+1);
var errorG = Marshal.GetLastWin32Error();
Both resultF
and resultG
return true
and has no errors but it still working. resultF
和resultG
返回true
,并且没有错误,但仍可正常使用。 Any hint on what may be happening here? 关于这里可能发生什么的任何提示? and what method do I have to debug this?
我必须调试什么方法?
Thanks in advance. 提前致谢。
I actually found a work'able solution, where it was lie under navigation with Proxy-Authentication in header: 我实际上找到了一个可行的解决方案,该解决方案位于标题中带有Proxy-Authentication的导航下:
var credentialStringValue = "user:pass";
var credentialByteArray = ASCIIEncoding.ASCII.GetBytes(credentialStringValue);
var credentialBase64String = Convert.ToBase64String(credentialByteArray);
Object nullObject = 0;
Object nullObjectString = "";
Object authObject = string.Format("Proxy-Authorization: Basic {0}{1}", credentialBase64String, Environment.NewLine);
browser.Navigate(args.Url, ref nullObject, ref nullObject, ref nullObjectString, ref authObject);
where browser
is: browser
在哪里:
public AxWebBrowser browser;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.