Java OkHttp RequestBody返回错误的内容长度

Java OkHttp RequestBody返回错误的内容长度,java,android,rest,okhttp,Java,Android,Rest,Okhttp,我有一个应用程序,我用它来执行带有body的网络请求,但是返回的内容长度是完全错误的。作为问题的一个例子,有以下情况: public static RequestBody createNewTokenBody(final String redirectUri, final String code, final String clientId, final String

我有一个应用程序,我用它来执行带有body的网络请求,但是返回的内容长度是完全错误的。作为问题的一个例子,有以下情况:

    public static RequestBody createNewTokenBody(final String redirectUri, final String
        code,
                                             final String clientId, final String
                                                     clientSecret) {

    final byte[] requestBody = "bunchofcharsthatshouldgointhebody".getBytes(Charset.forName("UTF-8"));

    final RequestBody ret = RequestBody.create(MediaType.parse(MEDIA_TYPE), requestBody, 0,
            requestBody.length);

    try {
        Log.d("debug", "Request body length to return: " + ret.contentLength());
    } catch (IOException e) {
        e.printStackTrace();
    }

    return ret;
}
因此,这将打印“请求返回的正文长度:33”但是,当此正文所附加的请求被下面的拦截器捕获时:

    client.networkInterceptors().add(new Interceptor() {
        @Override
        public Response intercept(final Chain chain) throws IOException {
            final Request request = chain.request();

            final RequestBody body = request.body();
            if (body != null) {
                Log.d("debug", "REQUEST BODY LENGTH: " + body.contentLength());
            }

            return chain.proceed(request);
        }
    });

“请求正文长度:2”将被记录,而与我指定的内容无关。不用说,这完全搞乱了请求,因为正文没有完全阅读。有人知道这种行为背后的原因吗?

我无法在独立的测试用例中重现这种情况。如果可以,请报告一个针对OkHttp的错误,并提供一个演示该问题的最小可执行测试用例。

我无法在独立测试用例中重现此错误。如果可以,请报告一个针对OkHttp的错误,并提供一个演示该问题的最小可执行测试用例。

如果需要该错误以供将来参考,则在Reformation-2 beta1中报告为错误,并且已在当前快照中修复


如果将来需要它作为参考,这在改装-2 beta1中被报告为一个错误,并且在当前快照中已经修复


我是steel Get-1…我在使用compile'com.squareup.okhttp:okhttp:2.4.0'我是steel Get-1…我在使用compile'com.squareup.okhttp:okhttp:2.4.0'