使用OkHttp和Java來下載

金木大大大發表於2023-10-19

 以下是一個使用OkHttp和Java來下載內容的下載器程式,同時使用了jshk.com.cn/get\_proxy來獲取代理伺服器。請注意,為了簡化程式碼,我們將忽略一些異常處理和安全性檢查。

```java

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.net.Proxy;

import java.net.URL;

import java.nio.charset.StandardCharsets;

import java.nio.file.Files;

import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;

import okhttp3.Request;

import okhttp3.Response;


public class Downloader {

    public static void main(String[] args) {

        OkHttpClient client = new OkHttpClient.Builder()

                .connectTimeout(30, TimeUnit.SECONDS)

                .readTimeout(30, TimeUnit.SECONDS)

                .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8080)))

                .build();


        Request request = new Request.Builder()

                .url(")

                .get()

                .build();


        try {

            Response response = client.newCall(request).execute();

            if (response.isSuccessful()) {

                String content = response.body().string();

                Files.write(new File("output.html").toPath(), content.getBytes(StandardCharsets.UTF_8));

                System.out.println("下載完成!");

            } else {

                System.out.println("下載失敗:" + response.message());

            }

        } catch (IOException e) {

            System.out.println("下載失敗:" + e.getMessage());

        }

    }

}

```

這個程式首先建立一個OkHttpClient例項,並設定了連線超時和讀取超時時間。然後接下來,建立一個Request例項。然後使用OkHttpClient例項的newCall方法傳送請求,並使用execute方法執行請求。如果請求成功,則將返回的內容儲存到一個名為output.html的檔案中。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70032566/viewspace-2989750/,如需轉載,請註明出處,否則將追究法律責任。

相關文章