zoukankan      html  css  js  c++  java
  • Retrofit2.0+OkHttp设置统一的请求头(request headers)

    有时候要求Retrofit2的接口中每个都要增加上headers,又不想做重复的事情,可以使用这种方法来为每个request请求都设置上相同的请求头header。

    修改请求头request headers主要是通过拦截器来实现,下面是我自己根据需要设置的。如果还有增加其他的header,可以再进行增加。

    1. /**
    2. * 请求拦截器,修改请求header
    3. */
    4. private class RequestInterceptor implements Interceptor{
    5.  
    6. @Override
    7. public Response intercept(Chain chain) throws IOException {
    8. Request request = chain.request()
    9. .newBuilder()
    10. .addHeader("Content-Type", "text/html; charset=UTF-8")
    11. // .addHeader("Accept-Encoding", "*")
    12. .addHeader("Connection", "keep-alive")
    13. .addHeader("Accept", "*/*")
    14. .addHeader("Access-Control-Allow-Origin", "*")
    15. .addHeader("Access-Control-Allow-Headers", "X-Requested-With")
    16. .addHeader("Vary", "Accept-Encoding")
    17. // .addHeader("Cookie", "add cookies here")
    18. .build();
    19.  
    20. Log.v("zcb", "request:" + request.toString());
    21. Log.v("zcb", "request headers:" + request.headers().toString());
    22.  
    23. return chain.proceed(request);
    24. }
    25. }

    使用方法:

    1. private OkHttpClient getOkHttpClient() {
    2. //定制OkHttp
    3. OkHttpClient.Builder httpClientBuilder = new OkHttpClient
    4. .Builder();
    5. //设置超时时间
    6. httpClientBuilder.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
    7. httpClientBuilder.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
    8. httpClientBuilder.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
    9. //使用拦截器
    10. httpClientBuilder.addInterceptor(new RequestInterceptor());
    11. httpClientBuilder.addInterceptor(new LogInterceptor());
    12. return httpClientBuilder.build();
    13. }
  • 相关阅读:
    Python
    Django
    Markdown基础教程
    LR之Oracle 2tier协议录制Oracle脚本
    Python实现自动连接密码本破解wifi
    LoadRunner替换url字符串(可以同时替换多个)
    LoadRunner接口HTTP请求中中文乱码解决方案
    在WSL2中安装ArchLinux
    解决FastJson中"$ref重复引用"的问题方法
    java 后台通过IO流把文件传到前端并下载
  • 原文地址:https://www.cnblogs.com/onetwo/p/7278116.html
Copyright © 2011-2022 走看看