0

我正在使用应用程序在 RSS 中显示 Http 图片 url。但是在 HTTPS 服务器中加载此图像并在 Internet Explorer 中打开显示安全警告时。如何解决这个问题呢?如何使用 java 处理并在 RSS 中显示?

4

3 回答 3

1

使用方案相对 URL。这意味着看起来像这样的 URL:

<img src="//example.com/images/foo.jpg"/>

而不是这个:

<img src="http://example.com/images/foo.jpg"/>

更多阅读:在 <script src="http://..."> 中用 // 替换 http:// 是否有效?

于 2012-09-26T17:18:46.357 回答
0

如果图像(或其他内容)托管在同一主机上,最简单的方法是使用相对路径引用或绝对路径引用(即src="path/to/image.png"src="/path/to/image.png)。

如果图像位于通过 HTTPS(您的用户也可能信任证书)和纯 HTTP(至少对于此资源)提供相同内容的不同主机上,请使用网络路径(相对)引用,即从 URI 中省略方案(例如src="//the.host.name/path/to/image.png")。

如果该其他主机不通过 HTTPS 提供此内容,这将变得更加复杂。一种解决方法是通过查询此内容的反向代理自己提供服务。客户端使用的地址将指向您的 HTTPS 服务器,您的服务器将在后面获取内容。执行此操作时,您可能需要考虑以下几点:

  • 安全性:您正在通过您的主机有效地提供其他人的内容,但是否应该相信它来自您的主机?也许这应该是一个单独的 HTTPS 主机,而不是您的主 HTTPS 站点。
  • 带宽:您的主机将有效地提供所有内容,您可能必须先获取它。
  • 法律:这可能会或可能不会被视为托管他人的内容。
于 2012-09-26T18:27:28.807 回答
0

我不知道Java,但你可以这样做:

var STRING

IF SSL DETECTED
   STRING = REPLACE HTTP WITH HTTPS

ECHO STRING

在循环内执行此操作。

最好的方法是使用 http 和 https 中的 url 创建两个主要常量,并在您的 url 中使用它们作为前缀,无论是否检测到 SSL。

于 2012-09-26T17:17:06.823 回答