Java

java requests如何设置超时时间

小樊
92
2024-08-21 05:15:31
栏目: 编程语言

在Java中,可以通过设置连接的超时时间来控制请求的超时时间。可以使用URLConnection类或者第三方库如OkHttp来实现设置超时时间。以下是使用URLConnectionOkHttp两种方式实现设置超时时间的示例代码:

  1. 使用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();
        }
    }
}
  1. 使用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();
        }
    }
}

以上是使用URLConnectionOkHttp两种方式设置Java请求的超时时间的示例代码。根据实际情况选择合适的方式来设置超时时间。

0
看了该问题的人还看了