2011-06-29 51 views
2

ユーザ名/パスワードのダイアログボックスで保護された新しいブラウザウィンドウでURLを開き、これらのフィールドを自動入力したり、ブラウザに資格情報を渡したりするにはどうすればよいですか?WPF URLをブラウザで開く

注記新しいブラウザウィンドウで、ではなく、 WPF WebControlを開く必要があります。

現時点では、新しいブラウザウィンドウを開いてもうまく動作するLaunchUriOrFileActionを使用していますが、自動的に資格情報が入力される必要があります。

デフォルトのブラウザは、クライアントのIE8になります。だから、古い方法のhttp://user:[email protected]はうまくいきません。

ありがとう

答えて

3

次のソリューションは、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" 
); 
に移動しようとすると、タスクバー
  • にブラウザは、実際にユーザーが促されますので、資格情報を覚えていません
  • +0

    ありがとう、少なくともその開始、IEの問題は問題ありませんが、背景のウィンドウは問題です – Mark

    関連する問題