0

私のWPFWindowでは、インターネット上の画像のURLに設定されていますImageUriSource

<Image>
    <Image.Source>
        <BitmapImage UriSource="http://tinyurl.com/anmucph" />
    </Image.Source>
</Image>

インターネット上で公開されている画像を使用すると、すべてが適切に機能します。WPF フレームワークは、必要な HTTP GET 要求を実行し、画像を表示します。

私がやりたいのUriSourceは、HTTP GET 要求に Authorization ヘッダーを付ける必要がある URL を使用することです。(使用したい必要な Authorization ヘッダー文字列があります。)

UriSource認証が必要なを使用するにはどうすればよいですか? WPFに組み込まれているものはありますか? それとも、これにはカスタム ソリューションが必要ですか? その場合、WPF フレームワークにフックして、HTTP GET を実行するためのカスタム ロジックを提供するにはどうすればよいですか?

4

3 に答える 3

3

これが古いスレッドであることは知っていますが、見つけた解決策をフォローアップしたかったのです。

.net には、システムまたはアプリケーション レベルで独自のメソッドを使用してそのコアをオーバーライドできる優れた機能があります。これは WebRequest.Create メソッドで行うことができます

http://msdn.microsoft.com/en-us/library/bc0fhzk5.aspxを参照してください

この投稿は IWebRequestCreate を含む完全な例であるため、再帰に陥ることはありません。

マシン上のすべての* HTTP リクエストにヘッダーを追加します

このすべての後、アプリケーション スコープ内のすべてが強制的に create メソッドを使用するようになります。

注:認証ヘッダーを追加する前に、正しいドメインにいることを確認して、認証を他の場所に渡さないようにしてください:)

于 2014-04-20T05:36:54.907 に答える
0

リソースのユーザー名とパスワードはありますか?標準のHTTP認証の場合は、次のようにドメイン名を指定できます。

http://username:password@tinyurl.com/anmucph
于 2013-02-19T20:51:43.013 に答える
0

これは、WPF に組み込まれているツールでは実行できません。

別の方法として、軽量でローカルの HTTP プロキシを作成し、単一の

  • GET http://localhost:####/proxy?uri={uri}&authorization={authorization}

操作 (ポート #### がファイアウォールの背後にある場合) は、順番に

  • GET {uri}

提供された認証ヘッダー値を使用して要求します。

次に、表示する保護されたリソースの URI エンコードされた URI と、要求と共に送信する URI エンコードされた承認ヘッダーをUriSourcewherehttp://localhost:####/proxy?uri=X&authorization=Yに設定できます。XYGET

于 2013-04-10T20:49:31.760 に答える