0
webviewからのすべてのリクエストにカスタムユーザーエージェントと認証トークンを挿入する必要があります。 Webviewから作られたHttpRequestsを傍受することは可能ですか?Webviewリクエストを傍受するXaml
webviewからのすべてのリクエストにカスタムユーザーエージェントと認証トークンを挿入する必要があります。 Webviewから作られたHttpRequestsを傍受することは可能ですか?Webviewリクエストを傍受するXaml
UWPでは、WebView.NavigateWithHttpRequestMessage
メソッドを使用して、WebViewをPOSTリクエストとHTTPヘッダーを持つURIにナビゲートできます。
WebViewにはNavigationStarting
イベントがあり、WebViewが新しいコンテンツにナビゲートする前に発生します。したがって、WebViewNavigationStartingEventArgs.Cancel
プロパティをtrue
に設定してナビゲーションをキャンセルする必要があります。例えば
:
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigateWithHeader(new Uri("http://www.whoishostingthis.com/tools/user-agent/"));
}
private void NavigateWithHeader(Uri uri)
{
var requestMsg = new Windows.Web.Http.HttpRequestMessage(HttpMethod.Get, uri);
string ua = "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko";
requestMsg.Headers.Add("User-Agent", ua);
MyWebView.NavigateWithHttpRequestMessage(requestMsg);
MyWebView.NavigationStarting += Wb_NavigationStarting;
}
private void Wb_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
MyWebView.NavigationStarting -= Wb_NavigationStarting;
args.Cancel = true;
NavigateWithHeader(args.Uri);
}
もJavaScriptから作られた要求をインターセプトすることが可能です。私は以下の内容をwebviewにロードしたい。 javascriptは詳細ページを生成しますが、生成されたHTMLコンテンツの問題です。画像とjsファイルのsrcにプロトコルが指定されていません(httpまたはhttps)。私は「= – Prince
"
<スクリプトタイプ=『テキスト/ javascriptの』SRC =『http://media.flixfacts.com/js/loader.js』データ・FLIX-販売代理店を動作するようにページのこれを手動で追加します12612 'data-flix-language =' id 'data-flix-brand ='サムスン 'data-flix-mpn =' UA55JU6600KPXD 'data-flix-ean =' 'data-flix-sku =' 'data-flix-button > "= 'FLIX-ミニサイトのデータ・FLIX-ページはめ込み= 'FLIX-ページはめ込み' データ・FLIXボタン-画像= '' データ・FLIX-フォールバック言語= 'E2' は、データ・FLIX-価格= '' 非同期 – Prince