C# 需要授权的图像源URI
在我的WPFC# 需要授权的图像源URI,c#,wpf,C#,Wpf,在我的WPF窗口中有一个图像,它的UriSource被设置为internet上某个图像的URL <Image> <Image.Source> <BitmapImage UriSource="http://tinyurl.com/anmucph" /> </Image.Source> </Image> 当我在internet上使用公共可访问的映像时,一切都正常工作:WPF框架执行必要的HTTPGET请
窗口中
有一个图像
,它的UriSource
被设置为internet上某个图像的URL
<Image>
<Image.Source>
<BitmapImage UriSource="http://tinyurl.com/anmucph" />
</Image.Source>
</Image>
当我在internet上使用公共可访问的映像时,一切都正常工作:WPF框架执行必要的HTTPGET请求并显示映像
我想做的是使用一个UriSource
,它是一个URL,要求HTTP GET请求附带一个授权头。(我有需要使用的授权标头字符串。)
如何使用需要授权的
UriSource
?WPF中有内置的东西吗?或者这需要定制解决方案吗?如果是这样,我如何连接到WPF框架中以提供用于执行HTTP GET的自定义逻辑?您有资源的用户名和密码吗?如果域名只是标准HTTP身份验证,则可以这样指定域名:
http://username:password@tinyurl.com/anmucph
你有资源的用户名和密码吗?如果域名只是标准HTTP身份验证,则可以这样指定域名:
http://username:password@tinyurl.com/anmucph
这不能用WPF中内置的工具来完成 另一种方法是创建一个轻量级的本地HTTP代理,该代理具有一个
GEThttp://localhost:####/proxy?uri={uri}&authorization={authorization}
GET{uri}
然后可以将
UriSource
设置为http://localhost:####/proxy?uri=X&authorization=Y
其中X
是要显示的安全资源的URI编码URI,Y
是要与GET
请求一起发送的URI编码授权头。这不能通过内置的工具完成WPF
另一种方法是创建一个轻量级的本地HTTP代理,该代理具有一个
GEThttp://localhost:####/proxy?uri={uri}&authorization={authorization}
GET{uri}
然后可以将
UriSource
设置为http://localhost:####/proxy?uri=X&authorization=Y
其中X
是要显示的安全资源的URI编码URI,Y
是要与GET
请求一起发送的URI编码授权头。我知道这是一个旧线程,但我想跟进我找到的解决方案
net有一个很酷的特性,可以让您在系统或应用程序级别上用自己的方法覆盖它的核心。这可以为WebRequest.Create方法完成
看
这篇文章是一个完整的例子,包括IWebRequestCreate,这样你就不会陷入递归
所有这些之后,应用程序范围中的所有内容都将被迫使用create方法
注意:在添加身份验证头之前,请确保您位于正确的域中,这样您就不会将身份验证发送到其他位置:)我知道这是一个旧线程,但我想继续使用我找到的解决方案 net有一个很酷的特性,可以让您在系统或应用程序级别上用自己的方法覆盖它的核心。这可以为WebRequest.Create方法完成 看 这篇文章是一个完整的例子,包括IWebRequestCreate,这样你就不会陷入递归 所有这些之后,应用程序范围中的所有内容都将被迫使用create方法
注意:在添加您的授权头之前,请确保您位于正确的域中,这样您就不会将您的授权发送到其他位置:)如果我从浏览器执行此操作-我尝试了Chrome和Firefox-它将添加到相应的“Basic64({username}:{password})”授权头上。但这在WPF中似乎不起作用。这是,因此WPF也不会起作用!如果我在浏览器中执行此操作(我尝试了Chrome和Firefox),它将添加相应的“Base64({username}:{password})”授权头。但这在WPF中似乎不起作用。这是,因此WPF也不会起作用!