ConnectionRequest上的SSL握手失败

时间:2017-02-18 10:43:21

标签: codenameone

我试图通过调用服务器来获取流上的一些信息,该服务器应该给我一些JSON对象(并且它发生在Safari中)但似乎在模拟器和android上它最终都是SSL握手失败的异常。 通常的呼叫是普通的http,它不能在iOS中使用,因此在Safari中只需将其更改为https就可以了,在Codenameone中会导致SSL握手失败异常。 此外,WebBrowser组件中的相同技巧让我看到没有SSL握手失败的无线电网页。

我正在使用ConnectionRequest来获取JSON数据。

有没有办法在不更改服务器配置的情况下避免该异常?

1 个答案:

答案 0 :(得分:1)

Codenameone与浏览器有点不同。浏览器可以为您提供安全弹出窗口,您可以选择忽略它,但Codenameone不允许您将非安全http更改为https。

您仍然可以在应用中使用普通的http,并通过添加此构建提示让它在iOS上运行:

 ios.plistInject = <key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict><key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLName</key> <string>com.myCompany.myPackageName.MyApp</string> </dict> <dict> <key>CFBundleURLSchemes</key> <array> <string>MyApp</string> </array> </dict> </array>

如果您已经有ios.plistInject构建提示,只需在现有值前面的逗号后面添加此值。

com.myCompany.myPackageName.MyApp是你的反向域名点你的应用名称。