OKHttp3 get方法 传参及header

OKHttp3 get方法 传参及header,第1张

private static final OkHttpClient client = new OkHttpClient().newBuilder()

.connectTimeout(10, TimeUnit.SECONDS)

.readTimeout(30, TimeUnit.SECONDS)

.build()

public static void get(String url, Map<String,String>params, Callback responseCallback) {

HttpUrl.Builder httpBuilder = HttpUrl.parse(url).newBuilder()

if (params != null) {

for(Map.Entry<String, String>param : params.entrySet()) {

httpBuilder.addQueryParameter(param.getKey(),param.getValue())

}

}

Request request = new Request.Builder().url(httpBuilder.build()).build()

client.newCall(request).enqueue(responseCallback)

}

原文: https://blog.csdn.net/sk719887916/article/details/52189602

添加统一通用header, 不会覆盖前面的header

okHttpClient.interceptors().add(new Interceptor() {

    @Override

    public Response intercept(Interceptor.Chain chain) throws IOException {

        Request original = chain.request()

        // Request customization: add request headers

        Request.Builder requestBuilder = original.newBuilder()

                    .addHeader("header-key", "value1")

                    .addHeader("header-key", "value2")

        Request request = requestBuilder.build()

        return chain.proceed(request)

    }

})

添加统一通用header, 会覆盖前面的header

okHttpClient.interceptors().add(new Interceptor() {

    @Override

    public Response intercept(Interceptor.Chain chain) throws IOException {

        Request original = chain.request()

        // Request customization: add request headers

        Request.Builder requestBuilder = original.newBuilder()

                .header("headerkey", "header-value")// <-- this is the important line

        Request request = requestBuilder.build()

        return chain.proceed(request)

    }

})

统一添加参数

OkHttpClient.Builder httpClient =

    new OkHttpClient.Builder()

httpClient.addInterceptor(new Interceptor() { 

    @Override

    public Response intercept(Chain chain) throws IOException {

        Request original = chain.request()

        HttpUrl originalHttpUrl = original.url()

        HttpUrl url = originalHttpUrl.newBuilder()

                .addQueryParameter("apikey", "your-actual-api-key")

                .build()

        // Request customization: add request headers

        Request.Builder requestBuilder = original.newBuilder()

                .url(url)

        Request request = requestBuilder.build()

        return chain.proceed(request)

    }

})


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11748401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存