MonoTouch中的UIWebView和基本身份验证

时间:2012-05-15 20:07:22

标签: http uiwebview xamarin.ios basic-authentication shouldstartload

在MonoTouch项目中,我有一个UIWebView加载基于身份验证的受保护URL。我设法通过手动添加基本身份验证标头来验证对网址的第一个请求:

UIWebView webView = new UIWebView(View.Frame);
... initialize webView
NSMutableUrlRequest request = new NSMutableUrlRequest(new NSUrl("http://example.com"));
string header = "Basic " + Convert.ToBase64String (Encoding.UTF8.GetBytes("domain\\username:password"));
request["Authorization"] =  header;
webView.LoadRequest(request);`

它在UIWebView中打开的第一页中运行良好。但是当在webview中单击href链接时,请求将失败并显示401.我通过Fiddler检查发送的标头,并且在第一个请求之后的任何后续请求中都不会发送我的标头。 我尝试将头部注入ShouldStartLoad委托中的所有请求,但没有结果:

webView.ShouldStartLoad = (w, request, navType) => {
    ((NSMutableUrlRequest)request)["Authorization"] = header;
    return true;
};

如何在UIWebView中为所有请求注入Authorization http标头?

0 个答案:

没有答案