在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标头?