3

MonoTouch プロジェクトでは、基本認証で保護された URL をロードする 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 ヘッダーを挿入するにはどうすればよいですか?

4

0 に答える 0