草庐IT

android - OkHTTP 错误无法访问 ByteString

我正在使用OkHttp库来处理多部分数据,一切都很好,我没有任何错误,但是当我编译程序时,它给了我错误Error:(172,40)error:cannotaccessByteStringclassfileforokio.ByteStringnotfound错误发生在这里RequestBody.create(MEDIA_TYPE_JPG,newFile(data.getFileParam())))HereisthewholecodeofmethodthatimplementsmultipartrequestpublicstaticStringmakeRequest(RequestCons

android - Square okHTTP 证书固定 - sslSocketFactory 错误

我正在尝试导入我自己的BKS文件,其中包含我的自签名证书,但我在使用okHTTP时遇到了麻烦。我想用bks文件做这个,我也通过sha512/让它工作。我从几个教程中得到了这段代码,我知道问题出在那里,但无法修复它。importandroid.content.Context;importandroid.util.Log;importjava.io.InputStream;importjava.security.KeyStore;importjavax.net.ssl.SSLContext;importjavax.net.ssl.SSLSocketFactory;importjavax.n

android - 用于 retrofit 和最新版本 okhttp 的 build.gradle 依赖项

在我们的应用程序中,我们使用retrofit来实现具有以下依赖关系的网络:compile'com.squareup.retrofit2:retrofit:2.3.0'compile'com.squareup.retrofit2:converter-gson:2.3.0'最近我们开始得到这个crash已解决。那么我该如何在我们的应用程序中解决这个问题?我的理解是改造是建立在okHttp库之上的。那么这是否意味着我们将不得不等待包含新okHttp版本的新版本改造,或者我可以手动将新版本的okHttp作为单独的依赖项包含在内,并最终得到:compile'com.squareup.retrof

android - 从 OkHttp 拦截器内部进行同步 Retrofit 调用

如果authtoken已过期,我会尝试自动刷新它。我正在使用OkHttp2.2中引入的新Interceptor类。在intercept方法中,我尝试使用chain.proceed(request)发出原始请求,检查响应代码,如果token已过期,我将调用单独的Retrofit服务,同步地获取新的token。奇怪的是,同步调用之后的代码似乎没有运行。如果我尝试在同步调用的行上使用断点进行调试,然后进行单步执行,我会在Dispatcher.java中停止在:if(!executedCalls.remove(call))thrownewAssertionError("Callwasn'tin

android - OkHttp上传进度与实际上传不同步

我正在尝试使用OkHttp跟踪上传进度。我创建了一个自定义的RequestBody,它具有以下正文(由thisanswer提供),它写入接收器并发布进度。publicclassCountingFileRequestBodyextendsRequestBody{privatestaticfinalStringTAG="CountingFileRequestBody";privatefinalProgressListenerlistener;privatefinalStringkey;privatefinalMultipartBodymultipartBody;protectedCount

android - OkHttp3 缓存似乎未通过 Retrofit 2 检查

我正在尝试使用Retrofit(2.1.0)和OkHttp(3.3.1)设置HTTP缓存。我看过很多与此主题相关的帖子,但都没有帮助。我写了一些单元测试来查看缓存是如何工作的。它工作得很好,但一旦集成到我的应用程序中,魔法就结束了。我将首先向您展示我的实现,然后解释我的一些调查。首先,这是我的Retrofit实例:OkHttpClient.BuilderhttpBuilder=newOkHttpClient.Builder();HttpLoggingInterceptorloggingInterceptor=newHttpLoggingInterceptor();interceptor

OKHTTP 实现微服务间文件上传和下载(okhttp response leak)

1.Feign框架需要集成模块feign-form才能支持文件上传的消息体格式。2.不论是独立使用Feign,还是使用SpringCloudFeign,下载文件时的返回值都必须为feign.Response类型。添加依赖com.squareup.okhttp3okhttp3.3.1复杂文件上传接口@ApiOperation("文件上传")@PostMapping(value="/upload",consumes=MediaType.MULTIPART_FORM_DATA_VALUE)@ResponseBodypublicResultExtokenUpload(@RequestPart(valu

android - 尽管有 flush(),OkHttp 在上传数据之前缓冲了 ~800kb

我正在尝试发布图像的上传进度,使用okhttp作为我的客户端和mimecraft上传它们以打包多部分文件。当数据写入套接字(如果我没看错的话,以4kbblock为单位)然后上传时,我添加了日志来写入字节数。问题是,虽然每次写入一大块数据时我都会在输出流上调用flush,但在将约800kb写入输出流之前似乎没有任何内容上传。一旦它达到那个点,它似乎上传了~100kb,然后应用程序将另一个100kb写入输出流(就像它释放的空间并且可以写入更多)并继续。这样做的结果是(超过1.2mb的文件)前800kb几乎立即被写入/报告,然后它开始上传(通过charles网络软件跟踪),然后将开始读/写/

android - Android 上的 Volley + OkHttp 在状态 200 响应上给出错误

当我只使用Volley发出请求时,一切顺利,我的StringRequest转到onResponse。但是当我切换到Volley+Okhttp组合时,我的请求通过了,我收到了与以前相同的响应,但随后我收到以下错误消息:E/Volley﹕[122319]BasicNetwork.performRequest:Unexpectedresponsecode200forjava.io.IOException:closedcom.android.volley.NetworkError:java.io.IOException:closedatcom.android.volley.toolbox.Ba

android - okhttp3设置超时没有用

OkHttpClientclient;client=newOkHttpClient.Builder().connectTimeout(5,TimeUnit.SECONDS).writeTimeout(5,TimeUnit.SECONDS).readTimeout(5,TimeUnit.SECONDS).build();Requestrequest22=newRequest.Builder().url("http://www.goo.com/").build();Utils.myLog("-begin-");Responseresponse=null;try{response=clien