以下解決方案使用web瀏覽器控件打開一個新的IE瀏覽器窗口。它的工作原理,但有幾個limitiations:
- 很明顯,它只能打開IE瀏覽器 - 這不會,如果你想讓它打開Firefox
- 新的瀏覽器窗口出現在後臺工作,以閃爍的按鈕在任務欄
- 瀏覽器實際上並不記得憑證,以便用戶會得到提示,如果他們試圖導航到另一個密碼保護的網頁
void OpenIEToAuthenticatedUrl(string url, string username, string password)
{
using (WebBrowser browser = new WebBrowser()) {
string userPass = username + ":" + password;
string encodedUserPass = Convert.ToBase64String(
Encoding.ASCII.GetBytes(userPass)
);
browser.Navigate(
url,
Guid.NewGuid().ToString(), // Force a new window by passing a unique frame name
null, // No POST data
"Authorization: Basic " + encodedUserPass
);
}
}
...
OpenIEToAuthenticatedUrl(
"http://example.com/",
"user", "pass"
);
謝謝,它至少有一個開始,IE的問題很好,但背景窗口是個問題 – Mark