java.net.SocketTimeoutExceptionが発生します。次のコードを使用してGET要求を送信すると、トランスポートエンドポイントが接続されていないという例外が発生します。ただし、このコードは他のGETリクエストに対しては機能しますが、特定の1つのURLに対しては機能しません。私が間違っているかもしれない何か考えはありますか?
try {
URL mUrl = new URL(url);
urlConn = (HttpURLConnection) mUrl.openConnection();
urlConn.setReadTimeout(5000);
urlConn.setConnectTimeout(5000);
urlConn.setRequestMethod(requestMethod);
if (contentType != null)
urlConn.addRequestProperty("Content-Type", "application/"
+ contentType);
urlConn.setDoOutput(true);
if (query != null) {
urlConn.setRequestProperty("Content-Length",
Integer.toString(query.length()));
urlConn.getOutputStream().write(query.getBytes("UTF8"));
}
urlConn.connect();
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
StringBuffer responseMsg = new StringBuffer();
InputStream dis = urlConn.getInputStream();
int chr;
while ((chr = dis.read()) != -1) {
responseMsg.append((char) chr);
}
return new Response(urlConn.getResponseCode(),
urlConn.getResponseMessage(),
responseMsg.toString());
}
return new Response(urlConn.getResponseCode(),
urlConn.getResponseMessage(), null);
} catch (IOException e) {
throw e;
} finally {
if (urlConn != null) {
urlConn.disconnect();
}
}