繁体   English   中英

如何在C#中拦截http请求?

[英]How to intercept http request in C#?

我正在尝试开发一个C#UWP应用程序。 它的视图包含webview控件和html内容都包含在此解决方案中。 我想拦截http请求,如果是GET请求,则返回json,text或其他内容。 当我开发一个Android应用程序时,我可以这样做。 Android提供了一些方法“shouldInterceptRequest”和类似“WebRequestResponse”的类型。 我可以用C#(不是Xamarin)做到这一点吗? 如果是,请告诉我该怎么做。 对不起,我的英语不好。 谢谢。

不是关于WebBrowser,而是关于WebView。

编辑

您可以收听NavigationStarting事件

public MainPage()
{
    this.InitializeComponent();
    MyWebView.NavigationStarting += MyWebViewOnNavigationStarting;
}

private void MyWebViewOnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
    string navigatingUri = args.Uri.ToString();

}

请注意 ,这仅捕获webview中的导航事件。

原来“错”的答案

  1. 将HTML文件放在Asset文件夹中
  2. 在您的Web视图中,将Sourcems-appx-web:///Assets/{htmlFileName}
<WebView x:Name="MyWebView" Source="ms-appx-web:///Assets/Foo.html"></WebView>

或者通过代码

public MainPage()
{
    this.InitializeComponent();
    MyWebView.Navigate(new Uri("ms-appx-web:///Assets/Foo.html"));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM