【问题标题】:get java.net.SocketTimeoutException: connect timed out when running vision sample code获取 java.net.SocketTimeoutException: 运行视觉示例代码时连接超时
【发布时间】:2017-05-24 10:28:13
【问题描述】:

我的项目有 OCR 要求,我想使用 google cloud Vision API。我通过 GIT 下载示例代码,但它报告以下错误:

线程“主”java.net.SocketTimeoutException 中的异常:连接 在 java.net.DualStackPlainSocketImpl.waitForConnect(Native 方法)在 java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:589) 在 sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) 在 sun.net.NetworkClient.doConnect(NetworkClient.java:175) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:432) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:527) 在 sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264) 在 sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) 在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032) 在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) 在 sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1316) 在 sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1291) 在 sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250) 在 com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:77) 在 com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981) 在 com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:283) 在 com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307) 在 com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:384) 在 com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489) 在 com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217) 在 com.google.api.client.http.HttpRequest.execute(HttpRequest.java:868) 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419) 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352) 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469) 在 com.google.cloud.vision.samples.label.LabelApp.labelImage(LabelApp.java:136) 在 com.google.cloud.vision.samples.label.LabelApp.main(LabelApp.java:71)

我没有修改任何代码,我可以在 API 浏览器浏览器上获得成功的测试结果。有没有人遇到过这种问题?能给我一些建议吗?

【问题讨论】:

  • 我在中国测试demo,是不是因为网络限制?我已经设置了 VPN 连接,我可以访问 Vision API 资源管理器测试页面并执行测试。谁能给我任何建议?

标签: google-cloud-platform google-cloud-vision


【解决方案1】:

java.net.SocketTimeoutException 表示在收到来自远程主机的响应之前连接超时。这几乎总是由本地网络问题、代理或防火墙配置引起的。

【讨论】:

    【解决方案2】:

    我通过将代理模式设置为全局模式解决了这个问题

    【讨论】:

    • 您能提供更多信息吗?什么代理模式?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2018-08-19
    • 1970-01-01
    相关资源
    最近更新 更多