Java使用OkHttp库完成图形采集的全过程

61 阅读1分钟

以下是一个使用OkHttp库的Java下载器程序,用于下载www.sohu.com的图像。此程序使用了duoip.cn/get_proxy的代码。

a4.png

import java.io.File;
import java.io.IOException;
import java.net.Proxy;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import okhttp3.Call;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class SohuDownloader {
    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", 1080)))
                .build();

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

        try {
            Response response = client.newCall(request).execute();
            byte[] imageData = response.body().bytes();

            File outputFile = new File("sohu_image.jpg");
            outputFile.createNewFile();

            FileOutputStream fos = new FileOutputStream(outputFile);
            fos.write(imageData);
            fos.close();

            System.out.println("下载完成,保存到:" + outputFile.getAbsolutePath());
        } catch (IOException e) {
            System.err.println("下载失败:" + e.getMessage());
        }
    }
}

这个程序首先创建一个OkHttpClient实例,并设置了连接超时时间和读取超时时间为30秒。然后,使用www.duoip.cn/get_proxy获取…

然后,程序尝试执行请求,并将响应的图像数据保存到一个本地文件中。如果下载成功,程序将输出保存路径;如果下载失败,程序将输出错误消息。