我正在使用Java构建一系列Web服务,其中包括依靠Google的Geocoding Maps API将物理地址转换为经度和纬度点。使用HttpsUrlConnection访问Google地理编码服务
根据documentation,地理编码服务可以通过简单的GET来访问,例如,以下网址:
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY
这里YOUR_API_KEY
将对应于您的应用程序实际的密钥进行更换。
即将到来的实际问题,我打算在Java中使用HttpsUrlConnection
进行GET调用。但是,我对我应该信任哪个证书感到困惑。仅仅信任所有证书是安全的,还是应该将Google SSL证书安装到我的信任存储中,并且只相信它?关于中间人攻击,我阅读了Stack Overflow,但我不知道它们在这里是否有可能。
FWIW, https://maps.google.api/的Google SSL证书由“GeoTrust Global CA”链接的“Google Internet Authority G2”签署。快速浏览最近下载的Java版本附带的信任库(cacerts),“GeoTrust Global CA”位于该信任库中,您应该乐于助人。 – hooknc
我会测试你的答案并回复你,谢谢。 –
添加了一些您应该可以运行的示例代码。顺便说一句,我强烈建议你看看使用HttpClient,使用HttpURLConnection是可怕的。 – hooknc