溫馨提示×

java requests如何設(shè)置超時時間

小樊
118
2024-08-21 05:15:31
欄目: 編程語言

在Java中,可以通過設(shè)置連接的超時時間來控制請求的超時時間。可以使用URLConnection類或者第三方庫如OkHttp來實現(xiàn)設(shè)置超時時間。以下是使用URLConnectionOkHttp兩種方式實現(xiàn)設(shè)置超時時間的示例代碼:

  1. 使用URLConnection設(shè)置超時時間:
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();

            // 設(shè)置連接超時時間為5秒
            connection.setConnectTimeout(5000);
            // 設(shè)置讀取超時時間為5秒
            connection.setReadTimeout(5000);

            // 發(fā)起請求
            connection.connect();

            // 處理響應(yīng)
            // ...
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. 使用OkHttp設(shè)置超時時間:

首先需要添加OkHttp的依賴:

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.2</version>
</dependency>

然后使用以下代碼設(shè)置超時時間:

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()
                // 設(shè)置連接超時時間為5秒
                .connectTimeout(5, TimeUnit.SECONDS)
                // 設(shè)置讀取超時時間為5秒
                .readTimeout(5, TimeUnit.SECONDS)
                .build();

        Request request = new Request.Builder()
                .url("http://www.example.com")
                .build();

        try {
            Response response = client.newCall(request).execute();
            // 處理響應(yīng)
            // ...
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上是使用URLConnectionOkHttp兩種方式設(shè)置Java請求的超時時間的示例代碼。根據(jù)實際情況選擇合適的方式來設(shè)置超時時間。

0