菜鸟教程小白 发表于 2022-12-13 12:59:49

c# - 使用 C# 从 Xamarin 中的 http 网站下载图像


                                            <p><p>我知道如何使用 <code>https</code> 协议(protocol)从网站下载图片:</p>

<pre><code>static UIImage FromUrl (string uri)
{
    using (var url = new NSUrl (uri))
    using (var data = NSData.FromUrl (url))
      return UIImage.LoadFromData (data);
}
</code></pre>

<p>但当 <code>uri</code> 不是 <code>https</code> 网站时,<code>data</code> 变为空。
这个问题有解决方法吗?
提前致谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果是通过不安全的 HTTP 提供网站的具体问题,那么可能是由于 <a href="https://developer.xamarin.com/guides/ios/platform_features/introduction_to_ios9/ats/" rel="noreferrer noopener nofollow">App Transport Security</a> ,默认情况下会阻止与非 HTTPS 站点的连接。您可以将需要通过 HTTP 访问的特定站点列入白名单,或者在必要时完全禁用 ATS,使用 <code>Info.plist</code> 中的设置:</p>

<pre><code>&lt;key&gt;NSAppTransportSecurity&lt;/key&gt;
&lt;dict&gt;
&lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;
&lt;true/&gt;
&lt;/dict&gt;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于c# - 使用 C# 从 Xamarin 中的 http 网站下载图像,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35469479/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35469479/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c# - 使用 C# 从 Xamarin 中的 http 网站下载图像