我已经编写了访问Google API的代码。当从浏览器中命中时,URL会立即做出响应,但是当使用OkHttpClient从Eclipse中命中相同的URl时,则会导致连接超时。尝试过使用各种方法每次仍击中URL仍然是连接超时。我什至尝试使用HTTP代替HTTPS,但还是没有运气。我对网络的了解不多,但是问题似乎出在办公室网络上,因为代码可以在我的家庭网络中正常工作。我也尝试设置更高的超时值,但它永远不会连接。因此,请让我知道可能的原因是什么,如何克服Office Proxy或造成此问题的原因。下面是我当前正在使用的代码
public static String getAPIData(String finalURL) throws Exception {
// TODO Auto-generated method stub
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(finalURL).build();
Response response = client.newCall(request).execute();
return response.body().string();
}
答案 0 :(得分:1)
我以前也遇到过同样的问题,我通过设置Java VM参数解决了它。我的网络中有一些代理设置,所以我在Java VM参数中设置了相同的代理。
单击运行-> 运行配置->单击右侧的 Arguments 标签->在 VM参数上写入 >:
-Dhttp.proxyHost = [您的代理服务器] -Dhttp.proxyPort = [您的代理端口]
例如,如果您的PC代理服务器是exmaple.proxy.com,端口是8080,则在VM参数中输入以下内容:
-Dhttp.proxyHost = exmaple.proxy.com -Dhttp.proxyPort = 8080