当前位置: 首页 > 知识库问答 >
问题:

在改装2日志中看不到标题

墨雨华
2023-03-14

我正在使用Reformation2发出网络请求,我想在其中添加一个标头。在设置了标题之后,我设置了一个日志机制来查看日志。这就是我现在看到的,请求中没有标题。

07-19 18:17:41.553 23344-24481/com.carlos.capstone.debug D/OkHttp: --> GET http://finance.yahoo.com/webservice/v1/symbols/AMZN,GOOG,ORCL,%5ENDX,/quote?format=json&view=detail http/1.1
07-19 18:17:41.553 23344-24481/com.carlos.capstone.debug D/OkHttp: --> END GET

来自服务器的响应:

07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: <-- 406 Not Acceptable http://finance.yahoo.com/webservice/v1/symbols/TX60.TS,%5EGSPTSE,%5EIXIC,%5ENDX,%5EDJI,%5EGSPC,%5EBVSP,%5EMXX,%5EMERV,%5EIPSA/quote?bypass=true&format=json&view=detail (342ms)
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Date: Tue, 19 Jul 2016 16:17:42 GMT
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: content-length: 21
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: content-type: text/plain; charset=utf-8
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Expires: -1
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Vary: X-Ssl
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Age: 0
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Via: http/1.1 yts278.global.media.ir2.yahoo.com (ApacheTrafficServer [cMsSf ]), http/1.1 media-router33.prod.media.ir2.yahoo.com (ApacheTrafficServer [cMsSf ]), http/1.1 r05.ycpi.dea.yahoo.net (ApacheTrafficServer [cMsSf ])
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Server: ATS
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Cache-Control: max-age=0, private
07-19 18:17:41.867 23344-24499/com.carlos.capstone.debug D/OkHttp: Connection: keep-alive
07-19 18:17:41.868 23344-24499/com.carlos.capstone.debug D/OkHttp: Y-Trace: BAEAQAAAAAALB1fOMgMOYgAAAAAAAAAAiBQMqkYf28UAAAAAAAAAAAAFN_9spyqfAAU3_2ynuqWCC3MYAAAAAA--
07-19 18:17:41.868 23344-24499/com.carlos.capstone.debug D/OkHttp: <-- END HTTP

下面是所涉及的类:我设置了一个HeaderInterceptor,在那里我设置了请求的头,之后是日志记录。

public class IndexOrShortInfoRApi {
    public static IIndexOrShortInfoData myService;
    public interface IIndexOrShortInfoData {

        @GET("/webservice/v1/symbols/TX60.TS,^GSPTSE,^IXIC,^NDX,^DJI,^GSPC,^BVSP,^MXX,^MERV,^IPSA/quote?format=json&view=detail")
        Call<IndexOrShortInfoDataResponse> getIndexesAmerica();
        @GET("/webservice/v1/symbols/^STOXX50E,^FTSE,^GDAXI,^FCHI,^IBEX,FTSEMIB.MI,PSI20.LS,BEL20.BR,^BFX,^SSMI,OBX.OL,RTS.RS,OMXC20.CO,^OMXSPI,^SSMI,FPXAA.PR,GD.AT,^ATX,^ISEQ/quote?format=json&view=detail")
        Call<IndexOrShortInfoDataResponse> getIndexesEurope();
        @GET("/webservice/v1/symbols/^N225,000001.SS,^AXJO,^AORD,^HSI,^BSESN,^NSEI,^NZ50,^TWII,^JKSE,^KLSE,^KS11,^STI,PSEI.PS/quote?format=json&view=detail")
        Call<IndexOrShortInfoDataResponse> getIndexesAsia();
        @GET("/webservice/v1/symbols/{ticker}/quote?format=json&view=detail")
        Call<IndexOrShortInfoDataResponse> getSecurityShortInfoByTicker(@Path("ticker") String ticker);
    }

    public static IIndexOrShortInfoData getMyService(){
        //OkHttpClient client=new OkHttpClient();

        HttpLoggingInterceptor logging=new HttpLoggingInterceptor();
        logging.setLevel(HttpLoggingInterceptor.Level.HEADERS);
        Dispatcher dispatcher=new Dispatcher();
        dispatcher.setMaxRequests(3);

        OkHttpClient client=new OkHttpClient.Builder()
                .dispatcher(dispatcher)
                .addInterceptor(new HeaderInterceptor())
                .addInterceptor(logging)
                .build();

        if (myService==null) {
            Retrofit retrofit=new Retrofit.Builder()
                    .baseUrl("http://finance.yahoo.com/")
                    .addConverterFactory(GsonConverterFactory.create())
                    .client(client)
                    .build();
            myService=retrofit.create(IIndexOrShortInfoData.class);
            return myService;

        } else {
            return myService;
        }

    }
}

用于设置标头的类:

public class HeaderInterceptor implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request =chain.request();
        request.newBuilder()
                .addHeader("User-Agent","Mozilla/5.0 (Linux; Android 6.0.1; MotoG3 Build/MPI24.107-55) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36")
                .build();
        Log.d("Retrofit", request.headers().toString());
        Response response=chain.proceed(request);
        return response;

    }
}

我甚至看不到日志。d(“改装”,request.headers()。toString())。HeaderInterceptor类似乎没有实例化,但我看不到错误在哪里。提前谢谢!

共有1个答案

商天逸
2023-03-14

抱歉,我没有将设置头的结果分配给变量,因此没有将其包含在请求中:

解决方案:

 request=request.newBuilder()
                .addHeader("User-Agent","Mozilla/5.0 (Linux; Android 6.0.1; MotoG3 Build/MPI24.107-55) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36")
                .build();
        Log.d("Retrofit", request.headers().toString());
 类似资料:
  • 我正在尝试获取请求中发送的确切的JSON。下面是我的代码: 但我只在日志中看到这一点:

  • 如何在Google Cloud上查看日志消息?:https://console.cloud.google.com/logs 这是我在运行dev_appserver.py(本地运行)时在终端中看到的: 将显示应用程序日志消息和请求日志记录。 但是,当我查看部署的相同代码的日志时,我只能看到正在记录的请求: 我用来生成应用程序日志消息的代码如下: 但我也尝试过直接使用<code>logging.inf

  • 我一直在尝试更改用户日志的日志级别,即出现在

  • 我已经开始学习Sleuth,但是我还停留在日志配置上。 我有这样的配置: 但是当我检查文件时,我缺少跟踪 Id 和 spanId。下面是示例: 这是pom.xml的片段 不知道如何在这里继续,我一直在阅读文档和堆栈溢出帖子,但仍然找不到任何答案。 提前致谢。

  • 我正在使用改造2.x,我想记录请求和响应的标头和正文。 这是我正在做的,我的问题是请求的标题没有被记录在Android Monitor中,但其余的一切都被记录了。 Gradle版本 使用RC1和3.0.1由于错误问题报告错误链接

  • 本文档介绍如何查看 TiDB 集群各组件日志,以及 TiDB 慢查询日志。 TiDB 集群各组件日志 通过 TiDB Operator 部署的 TiDB 各组件默认将日志输出在容器的 stdout 和 stderr 中。可以通过下面的方法查看单个 Pod 的日志: kubectl logs -n ${namespace} ${pod_name} 如果这个 Pod 由多个 Container 组成,