eim*_*mie 5 android hostname parse-platform
初始化Parse时Android,我能够在以下情况下成功连接到Parse服务器:
1)我没有指定服务器URL,或者
2)我将服务器URL设置为Parse服务器.
因为我们打算最终将数据从Parse迁移到不同的主机,所以我们希望连接到不同的服务器URL.但是,当我尝试指定一个不同的服务器URL(https://api.ourhostname.com/1/)重定向(充当代理)到Parse服务器时,该应用程序无法完全连接到服务器.从iOS项目实现时,此服务器URL工作正常.但是,在Android等效项上实现时:
Parse.initialize(new Parse.Configuration.Builder(this)
        .applicationId(APP_ID)
        .clientKey(CLIENT_KEY)
        .server("https://api.ourhostname.com/1/")
        .build()
    );
我收到i/o失败:
05-24 21:46:55.319 7140-7140/com.ourapp W/System.err: com.parse.ParseRequest$ParseRequestException: i/o failure
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at com.parse.ParseRequest.newTemporaryException(ParseRequest.java:290)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at com.parse.ParseRequest$2.then(ParseRequest.java:145)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at com.parse.ParseRequest$2.then(ParseRequest.java:139)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at bolts.Task$15.run(Task.java:917)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err:     at java.lang.Thread.run(Thread.java:818)
05-24 21:46:55.324 7140-7140/com.ourapp W/System.err: Caused by: javax.net.ssl.SSLPeerUnverifiedException: Cannot verify hostname: api.ourhostname.com
05-24 21:46:55.329 7140-7140/com.ourapp W/System.err:     at android.net.SSLCertificateSocketFactory.verifyHostname(SSLCertificateSocketFactory.java:242)
05-24 21:46:55.329 7140-7140/com.ourapp W/System.err:     at android.net.SSLCertificateSocketFactory.createSocket(SSLCertificateSocketFactory.java:486)
05-24 21:46:55.329 7140-7140/com.ourapp W/System.err:     at com.android.okhttp.Connection.upgradeToTls(Connection.java:1226)
05-24 21:46:55.329 7140-7140/com.ourapp W/System.err:     at com.android.okhttp.Connection.connect(Connection.java:1183)
...
通过Web浏览器,我可以访问我们的自定义服务器URL,该URL在浏览器中受信任且有效,这意味着它不是自签名的.
有没有其他人从他们的Android项目中遇到过这个问题,以及有关如何成功获得Parse SDK连接到自定义服务器URL的任何建议?
更新:我们能够通过以下方式解决此问题:
1)在Android端添加此解决方案.
2)调整我们的自定义服务器如何为其公钥提供服务(这对于使Marshmallow连接到服务器尤其重要).
| 归档时间: | 
 | 
| 查看次数: | 325 次 | 
| 最近记录: |