Android OKHttp3 超时设置和异常捕获

 private void getService() {
        OkHttpClient client = new OkHttpClient();

        //请求超时设置
        client.newBuilder()
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(20, TimeUnit.SECONDS).build();

        Request.Builder request = new Request.Builder().url("URL");
        Call call = client.newCall(request.build());
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                if (e instanceof SocketTimeoutException) {
                    //判断超时异常
                }
                if (e instanceof ConnectException) {
                    判断连接异常,

                }
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

            }
        });
    }

OkHttp3是Square公司开发的一个轻量级的HTTP客户端库,它是Android和Java应用中常用的网络请求库,它基于Apache HTTP Client,并提供了一种更现代、更易于使用的API。 在Java中,使用OkHttp3进行封装可以按照以下步骤操作: 1. **添加依赖**: 如果你使用的是Maven或Gradle,可以在pom.xml或build.gradle文件中添加OkHttp3作为依赖。例如: ```gradle implementation 'com.squareup.okhttp3:okhttp:4.x.y' ``` 2. **创建OkHttpClient实例**: ```java OkHttpClient client = new OkHttpClient(); ``` 这里默认创建了一个基本的无配置的OkHttpClient,你可以根据需要添加中间件(Interceptor)或其他配置。 3. **发送GET请求**: ```java Request request = new Request.Builder() .url("https://example.com") .build(); Call call = client.newCall(request); Response response = call.execute(); ``` 4. **处理响应**: 可以读取响应内容、检查状态码等: ```java String responseBody = response.body().string(); int statusCode = response.code(); ``` 5. **错误处理**: 要捕获并处理可能出现的异常,如网络错误或超时: ```java try { // 发送请求... } catch (IOException e) { e.printStackTrace(); } ``` 6. **异步请求**: 使用`enqueue()`方法可以发送异步请求,适合长耗时操作: ```java call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { // 处理失败 } @Override public void onResponse(Call call, Response response) throws IOException { // 处理成功 } }); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值