私が開発しているIoTコアアプリケーションのリモートApache WebサーバーからいくつかのWebページを表示する必要があります。私は保護されていないページのWebViewクラスメソッド.Navigate()を使用しています。しかし、私のプロジェクトでは、Webサーバー(ユーザー名+パスワード)に最初にログインし、ページから情報を取得する必要がありますが、WebViewクラスを使用してそれを行う方法はわかりません。私は無知だ。UWP WebView - Webサーバーのコンテンツを表示するときのWebサーバーログインに関する問題
WebBrowserクラスNavigate()を使用して資格情報を64ベースのエンコードされた文字列として送信するソリューションが見つかりましたが、WebViewのNavigate()は1つの引数、URIのみを許可します。私はWebBrowserクラスも見つけられないようです。
私はすでにURIにユーザ名/パスワードを埋め込むしようとしたが、それは正常に動作していないと私はそれはそれを行うには良い考えではありません注意してくださいね。
WebViewを使用してこれを達成することは可能ですか?任意の提案/アイデアですか?
すべてのヘルプは
を感謝編集:私は私の問題のためにうまく機能するソリューションを見つけた、私はそれが同様の問題を持つ人への助けになることができた場合にそれを掲示しています。
Uri req_uri = new Uri(uri_list[i]);
HttpBaseProtocolFilter filter = new HttpBaseProtocolFilter();
filter.ServerCredential = new PasswordCredential(req_uri.ToString(), "username", "password");
HttpCookieCollection cookiejar = filter.CookieManager.GetCookies(req_uri);
if (cookiejar.Count > 0)
{
foreach (HttpCookie cookie in cookiejar)
{
filter.CookieManager.SetCookie(cookie);
}
}
Windows.Web.Http.HttpClient client = new Windows.Web.Http.HttpClient(filter);
Windows.Web.Http.HttpRequestMessage http_req = new Windows.Web.Http.HttpRequestMessage();
http_req.Method = Windows.Web.Http.HttpMethod.Get;
http_req.RequestUri = req_uri;
var clientResponse = client.GetAsync(req_uri);
webView.NavigateWithHttpRequestMessage(http_req);
http_req.Dispose();
client.Dispose();
私は実際に解くことができましたそれは、UWPのWindows.Web.Http名前空間のHttpClientHandlerとして機能し、ログインのために(ServerCredential)内に認証資格情報を保持できるHttpBaseProtocolFilterの使用とともに、あなたのアプローチに従ったいくつかの試行の後です。とても有難い。 –