谷歌地理编码的“连接被拒绝”错误

时间:2012-10-04 09:46:30

标签: java google-maps geolocation geocoding

我用一个'java'程序来获取使用地理编码的给定邮政编码的坐标(纬度和经度)。 我在家里测试了这个程序它工作正常,但是当我在办公室运行相同的程序时,它会抛出“网络错误”。堆栈跟踪如下所示。

  

[2012-10-04 10:50:34.337 MESZ] [主要]错误   com.google.code.geocoder.Geocoder - 拒绝连接:连接   java.net.ConnectException:拒绝连接:connect at   java.net.DualStackPlainSocketImpl.connect0(本机方法)   〜[na:1.7.0_03] at   java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)   〜[na:1.7.0_03] at   java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)   〜[na:1.7.0_03] at   java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)   〜[na:1.7.0_03] at   java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)   〜[na:1.7.0_03] at   java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)   〜[na:1.7.0_03] at   java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)   〜[na:1.7.0_03] java.net.Socket.connect(Socket.java:579)   〜[na:1.7.0_03] java.net.Socket.connect(Socket.java:528)   〜[na:1.7.0_03] at   sun.net.NetworkClient.doConnect(NetworkClient.java:180)~ [na:1.7.0_03]     在sun.net.www.http.HttpClient.openServer(HttpClient.java:388)   〜[na:1.7.0_03] at   sun.net.www.http.HttpClient.openServer(HttpClient.java:483)   〜[na:1.7.0_03] at   sun.net.www.http.HttpClient。(HttpClient.java:213)〜[na:1.7.0_03]     在sun.net.www.http.HttpClient.New(HttpClient.java:300)   〜[na:1.7.0_03] at   sun.net.www.http.HttpClient.New(HttpClient.java:316)〜[na:1.7.0_03]     在   sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:992)   〜[na:1.7.0_03] at   sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:928)   〜[na:1.7.0_03] at   sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:846)   〜[na:1.7.0_03] at   sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296)   java.net.URL.openStream上的〜[na:1.7.0_03](URL.java:1035)   〜[na:1.7.0_03] at   com.google.code.geocoder.Geocoder.request(Geocoder.java:72)   〜[geocoder-java-0.9.jar:na] at   com.google.code.geocoder.Geocoder.geocode(Geocoder.java:63)   〜[geocoder-java-0.9.jar:na] at   de.dmc.intersport.enfinity.ch.b2c.app.capi.GoogleGeoLocation.getGeoResults(GoogleGeoLocation.java:36)   [lib /:na] at   de.dmc.intersport.enfinity.ch.b2c.app.capi.GoogleGeoLocation。(GoogleGeoLocation.java:21)   [lib /:na] at   de.dmc.intersport.enfinity.ch.b2c.app.capi.GoogleGeoLocation.main(GoogleGeoLocation.java:67)   [LIB /:NA]

我认为这是“防火墙设置”的问题。我能做些什么来摆脱这个。 任何帮助都将受到极大关注

2 个答案:

答案 0 :(得分:0)

由于防火墙限制,您可能无法从办公室计算机连接 Google Geo Coding API 。这就是您在家中成功运行的同一程序中遇到 “网络错误” 的原因。尝试在没有防火墙限制的其他计算机上运行相同的应用程序/程序。

您可以从公司的网络管理员处获取帮助 绕过 计算机的 IP 中的防火墙限制。

答案 1 :(得分:0)

我找到了上述问题的解决方案,必须在你的java代码中设置如下所示的代理设置

  

System.getProperties()。put(“http.proxyHost”,“proxyname”);     System.getProperties()。put(“http.proxyPort”,“portnumber”);

那么事情应该没问题