草庐IT

okhttp-urlconnection

全部标签

带有 Retrofit2 OkHttp3 的 Android - 多部分 POST 错误

我在Android上将Retrofit2与OkHttp一起用于HTTP请求。在这里,我正在执行带有文档上传的POST请求。我遇到了以下错误:D/OkHttp:D/OkHttp:D/OkHttp:D/OkHttp:Error500ServerErrorD/OkHttp:D/OkHttp:HTTPERROR500D/OkHttp:Problemaccessing/v1/documents.Reason:D/OkHttp:ServerErrorCausedby:org.apache.cxf.interceptor.Fault:Couldn'tdeterminetheboundary

android - okhttp:如何处理来自服务器的未请求/意外 100(继续)响应?

TLDR:有没有办法强制OkHttp正确处理意外/未请求的100ContinueHTTP响应?我在Android上使用OkHttp3.8.1发布到行为不佳的服务器。即使请求不包含“Expect:100-continue”header,网络服务器也会返回100Continue响应。OkHttp并没有继续发送请求主体,然后获得实际的(200)响应,而是停在那里并在我的okhttp.Callback中发回100Continue响应。我尝试在请求中明确包含“Expect:100-continue”以触发OkHttp的逻辑,但服务器(可能由于某些错误)声称header格式错误并拒绝请求。我也尝试

android - Retrofit/OkHttp api 调用未完成 : "read: unexpected EOF!" printed

我正在使用Rx来批处理对API的请求。当前有5个调用正在进行中。我的代码中有一行在响应返回时打印出来。执行代码时,我经常发现只打印了4行,这意味着5个调用并未全部完成。查看logcat,我看到以下消息:read:unexpectedEOF!我在github上遇到了这个问题:https://github.com/square/retrofit/issues/1228我尝试在正在使用的@GET请求之上添加@Streaming,但这似乎没有解决问题。我可以从哪里开始调试它,可能是什么问题? 最佳答案 我在这里找到了解决方案https://

java - 将自定义证书添加到 OkHttp 客户端

我正在尝试制作Android应用程序,我可以在其中获取和解析HTML(来自没有API的网站)。我正在使用OkHttp。该站点具有不受信任(但有效)的证书。我得到:java.security.cert.CertPathValidatorException:Trustanchorforcertificationpathnotfound.我已经设置了官方方式(https://developer.android.com/training/articles/security-ssl#java),现在我需要将它与OkHttpClient链接。我试过了OkHttpClientclient=newOk

android - 使用 OkHttp + Spring 的多部分文件上传

我最近切换到OkHttp。切换后,下面的代码进行上传。RequestBodyrequestBody=newMultipartBuilder().type(MultipartBuilder.FORM).addPart(Headers.of("Content-Disposition","form-data;name=\"qqfile\""),RequestBody.create(MediaType.parse(filename),newFile(filename))).build();如果比较图像,第二个图像有multipartFilessize=0。它应该是size=1。如何使用OkHt

java - 使用okhttp时如何将Map添加到RequestBody而不是单独添加键值对?

如果我有这个:RequestBodyformBody=newFormEncodingBuilder().add("email","Jurassic@Park.com").add("tel","90301171XX").build();但我不想单独添加键值对,而是想添加一个大小可变的映射类型变量,我该如何添加它? 最佳答案 自己遍历map并添加每个键/值怎么样?示例:privateFormEncodingBuildermakeBuilderFromMap(finalMapmap){FormEncodingBuilderformBody

java - 为什么我一次只能从 okhttp.Response InputStream 读取 2048 个字节?

我正在使用OkHttpGET请求下载文件:importcom.squareup.okhttp.OkHttpClient;importcom.squareup.okhttp.Request;importcom.squareup.okhttp.Response;...OkHttpClientokClient=newOkHttpClient();Requestrequest=Request.Builder().url(url).get();Responseresponse=okClient.newCall(request).execute();我从响应体中读取并用BufferedInputS

java - 如何重新连接okhttp-ws

IP地址改变或连接失败如何正确重连?我正在尝试重新连接okhttp-ws.....@OverridepublicvoidonFailure(IOExceptione,okhttp3.Responseresponse){try{connecting();}catch(Exceptione1){Timber.e(e1,"onFailure");}}@OverridepublicvoidonClose(intcode,Stringreason){Timber.d("Connectionunexpectedlyclosed");connecting();}publicvoidconnectin

java - OkHttp 的 .string() 和 .toString() 有什么区别?

我是OkHttp库的新手。在使用这个库时,我正在下载网页的源代码。这是我的代码:Requestrequest=newRequest.Builder().url(urls[0]).build();try{Responseresponse=okHttpClient.newCall(request).execute();source=response.body().toString();Log.i("ppp",source);}catch(IOExceptione){source=e.getMessage();e.printStackTrace();}但是正在向我展示这个响应:07-2711

android - 改造 + OkHTTP - 响应缓存不工作

我知道有很多类似的问题,但我已经阅读了所有这些问题,但没有一个真正有帮助。所以,这是我的问题:我正在使用retrofit+okhttp从API获取一些数据,我想缓存它们。不幸的是,我没有API服务器的管理员权限,所以我无法修改服务器返回的header。(目前,服务器返回Cache-control:private)所以我决定使用okhttpheader欺骗来插入适当的缓存header。可悲的是,无论我做什么,缓存似乎都不起作用。我像这样初始化api服务:intcacheSize=10*1024*1024;//10MiBFilecacheFile=newFile(context.getCa