Retrofit2.0+OkHttp打印Request URL(请求地址参数)

学习了Retrofit中的拦截器功能:实现日志中打印请求头内容

Retrofit 2+ 是基于OKHttp进行封装的,那么也就是说想进行请求拦截然后进行打印出来的话,就必须要从OkHttp进行入手。

1,添加依赖包:

compile ‘com.squareup.okhttp3:logging-interceptor:3.1.2‘

2,我这里是新建了一个方法进行创建并获取OkHttp

private OkHttpClient getOkHttpClient() {
        //日志显示级别
        HttpLoggingInterceptor.Level level= HttpLoggingInterceptor.Level.BODY;
        //新建log拦截器
        HttpLoggingInterceptor loggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
            @Override
            public void log(String message) {
                Log.d("zcb","OkHttp====Message:"+message);
            }
        });
        loggingInterceptor.setLevel(level);
        //定制OkHttp
        OkHttpClient.Builder httpClientBuilder = new OkHttpClient
                .Builder();
        //OkHttp进行添加拦截器loggingInterceptor
        httpClientBuilder.addInterceptor(loggingInterceptor);
        return httpClientBuilder.build();
    }

3,把获取到的OkHttp给Retrofit进行使用

Retrofit retrofit=new Retrofit.Builder()
                .baseUrl(AppConfig.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .client(getOkHttpClient())//使用自己创建的OkHttp
                .build();

效果图:我发起了三个请求。

时间: 2024-11-08 21:41:37

Retrofit2.0+OkHttp打印Request URL(请求地址参数)的相关文章

Request.url请求路径的一些属性

Request.url请求路径的一些属性1,Request.UrlReferrer.AbsolutePath=获取URL的绝对路径例:"/Manager/Module/OfficialManage/Issuedadocument/Issuedadocument_WorkNew.aspx" 2,Request.UrlReferrer.AbsoluteUri=获取绝对URL例:"http://localhost:2855/Manager/Module/OfficialManage

Objective-C中把URL请求的参数转换为字典

上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字符串的截取,关键是怎么个截法,才能把字符串中的参数列表分别转换成键值对.下面是小菜自己的转换思路,如果有更好的结局方法还请批评指正,相互学习交流一下,转载请注明出处. 首先我们得会一个字符串拆分函数 componentsSeparatedByString:@"&",把字符串按照&a

解决backbone url请求中参数有中文,存入数据库是乱码

最近项目用到了backbone 做前后端的分离方案,遇见了中文乱码问题,解决方案总结如下: 假设需要存一条课程记录到后台 model定义如下: var AddCourse= Backbone.Model.extend({ url:path+"/course/add", parse : function(response){ return response.data; } }); encodeURIComponent 函数 将中文的内容进行编码 $('#addCourseBtn' ).c

Android Retrofit2.0 查看log和JSON字符串(HttpLoggingInterceptor)

Retrofit2.0 怎么打印请求到的json字符串和查看log呢? 关键类:HttpLoggingInterceptor 关键代码: HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient = new OkHttpClient.Builder().addInterceptor(logging).b

springMVC get请求及其请求地址写法

今天,需要写一个接口,写完之后,测试的时候发线一直报404错误,不知道为什么报错.应该是get请求地址的问题,get请求有两个参数,改为一个参数的时候是好用的,可能那种方式不适合写两个参数的get请求吧. 方式一:get请求一个参数 @RequestMapping("/testPathVariable/{id}") public String testPathVariable(@PathVariable(value="id") Integer id){ System

Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架

最近看了很多关于Retrofit和Rxjava的文档介绍.终于在弄清Rxjava后顺利的弄懂了Retrofit. 网上有很多人都介绍了它们的联合使用,但是我看过之后理解不是太好.可能我太笨. 不过,今天写这篇博客的目的就是想来说说它们之间如何使用以及使用的时候遇到的坑. 这两者的关系并不大,但是联合在一起使用是非常简便的.Rxjava的响应式编程加上Retrofit的注解式请求用起来是非常爽的. 并且Retrofit内置的是Okhttp,所以这更加的让Retrofit变得强大. 如果在看这篇博客

url分发、isinstance、request.GET请求之QueryDict和urlencode、post和get请求、limit_choices_to(Model字段)

这个的路径是怎么来的,是有一个个的url路由分发过来的 这两个是相等的,若url后面加括号了,那么前面就不用这个装饰器了:反之,若装饰器使用了,那么这个url后面就不要加括号了 eg:其他的views.test这是一个视图函数,而那个url()这个一个大列表,里面全是url,这里面就是所谓的二级分发的url, 到这里之后,这里都是函数的返回值,这是一个大的元祖形式,虽然没有括号,但是有逗号,这里既是一个大的元祖 再次点击get_url跳转到这里 这个u前面是一个正则,,分别是应用名,表明,后面m

axios发起post请求,url后面的参数自动拼接到Request URL上

最近遇到一个神奇的bug,当通过路由query传参跳转到新的页面时,新页面请求接口的Request URL后面自动拼接上了query传参 具体如下: 跳转路由是这样的 let path = "********";this.$router.push({path:path,query:{keyWord:"零食"}}) 跳转到新的页面后新页面所有请求接口的地址 https://api.*********.com/?g=home_v2&m=taobaoInt&

django request 获取请求的URL

1. get_full_path() 获取的url路径包含参数 2.path_info 获取的路径不包含参数 注意:获取的路径都不包含协议 IP 和端口 3.补充 sesssion http://127.0.0.1:8000/admin/login/?next=/admin/ 1.登录admin /admin/ 使用 path_info 获取 /admin/ django request 获取请求的URL request.get_host() 获取请求地址 request.path 获取请求的p