阅读量:0
在Java中,可以通过设置连接的超时时间来控制请求的超时时间。可以使用URLConnection
类或者第三方库如OkHttp
来实现设置超时时间。以下是使用URLConnection
和OkHttp
两种方式实现设置超时时间的示例代码:
- 使用
URLConnection
设置超时时间:
import java.net.URL; import java.net.URLConnection; public class TimeoutExample { public static void main(String[] args) { try { URL url = new URL("http://www.example.com"); URLConnection connection = url.openConnection(); // 设置连接超时时间为5秒 connection.setConnectTimeout(5000); // 设置读取超时时间为5秒 connection.setReadTimeout(5000); // 发起请求 connection.connect(); // 处理响应 // ... } catch (Exception e) { e.printStackTrace(); } } }
- 使用
OkHttp
设置超时时间:
首先需要添加OkHttp的依赖:
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.2</version> </dependency>
然后使用以下代码设置超时时间:
import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class TimeoutExample { public static void main(String[] args) { OkHttpClient client = new OkHttpClient.Builder() // 设置连接超时时间为5秒 .connectTimeout(5, TimeUnit.SECONDS) // 设置读取超时时间为5秒 .readTimeout(5, TimeUnit.SECONDS) .build(); Request request = new Request.Builder() .url("http://www.example.com") .build(); try { Response response = client.newCall(request).execute(); // 处理响应 // ... } catch (IOException e) { e.printStackTrace(); } } }
以上是使用URLConnection
和OkHttp
两种方式设置Java请求的超时时间的示例代码。根据实际情况选择合适的方式来设置超时时间。