草庐IT

okhttp-urlconnection

全部标签

android - 证书固定不适用于 Android 上的 OkHttp

在Android应用上使用com.squareup.okhttp:okhttp:2.4.0和com.squareup.retrofit:retrofit:1.9.0,尝试与基于HTTPS的服务器RESTAPI,使用自签名证书。服务器keystore有一个私钥和2个证书,服务器证书和根证书。openssls_client输出-Certificatechain0s:/C=...OU=Dev/CN=example.comi:/C=...MyCA/emailAddress=info@example.com1s:/C=...MyCA/emailAddress=info@example.comi:

Android Dagger2 + OkHttp + Retrofit 依赖循环错误

嘿,我正在使用Dagger2、Retrofit和OkHttp,我面临着依赖循环问题。当提供OkHttp时:@Provides@ApplicationScopeOkHttpClientprovideOkHttpClient(TokenAuthenticatorauth,Dispatcherdispatcher){returnnewOkHttpClient.Builder().connectTimeout(Constants.CONNECT_TIMEOUT,TimeUnit.SECONDS).readTimeout(Constants.READ_TIMEOUT,TimeUnit.SECON

android - 在 Android 中使用 RxJava、OkHttp 和 Okio 下载进度

在我们的应用程序中,我使用此代码下载图像文件。我需要在UI上显示下载进度(下载字节数百分比)。如何在此代码中获取下载进度?我搜索了解决方案,但仍然无法自行解决。ObservabledownloadObservable=Observable.create(sub->{Requestrequest=newRequest.Builder().url(media.getMediaUrl()).build();Responseresponse=null;try{response=http_client.newCall(request).execute();if(response.isSucces

android - 如何使用内容类型为 x-www-form-urlencoded 的 okhttp 库发布数据?

我用过这个方法https://stackoverflow.com/a/31744565/5829906但没有发布数据。这是我的代码OkHttpClientclient=newOkHttpClient();RequestBodyrequestBody=newMultipartBuilder().type(MultipartBuilder.FORM).addFormDataPart("rating","5").addFormDataPart("comment","Awesome").build();Requestrequest=newRequest.Builder().url(url).p

android - okhttp中无法解析MultipartBuilder :3. 0.0-RC1

我已经使用了okhttp并且它在以下依赖项下工作正常:compile'com.squareup.okhttp:okhttp:2.3.0'最近我更新了:compile'com.squareup.okhttp3:okhttp:3.0.0-RC1'它显示像MultipartBuilder无法解决的错误。我正在用我的PreviousAnswer上传图片上传文件。有没有办法使用okhttp:3.0.0-RC1实现同样的事情? 最佳答案 它叫做MultipartBody.Builder现在。来自ChangeLog:FormandMultipar

android - 在 Android 上使用 okhttp 2 的持久性 Cookie 存储

在我的Android应用程序中,我正在尝试从android-async-http切换到支持异步网络sind2.0版的okhttp。虽然前者附带了一个persistentcookiestorage的实现,我不知道如何为okhttp实现这样的东西。在我的应用程序中,我有一个登录例程,在此过程中发送一个get请求,如果成功,应该设置一个cookie。此cookie应附加到所有后续网络请求,并且应在应用程序重新启动后继续存在。我找到了thefollowinganswer在SO上,表明以下代码fragment,如果在应用程序的某处执行,将激活持久性cookie管理,okhttp将使用它:Cook

android - 使用 retrofit2 和 OkHttp3 时出现此错误。无法解析主机 "<host-name>": No address associated with hostname

我正在使用改造2和OkHttp3从服务器请求数据。我刚刚添加了一个离线缓存代码,但它没有按预期工作。我收到错误“无法解析主机“”:没有与主机名关联的地址。”当它试图从缓存中获取检索数据时(没有互联网连接时)会发生这种情况。下面是一段代码。publicstaticInterceptorprovideCacheInterceptor(){returnnewInterceptor(){@OverridepublicResponseintercept(Chainchain)throwsIOException{Responseresponse=chain.proceed(chain.reques

Android OkHttp,刷新过期 token

场景:我正在使用OkHttp/Retrofit访问网络服务:同时发送多个HTTP请求。在某个时候,授权token会过期,多个请求将收到401响应。问题:在我的第一个实现中,我使用了一个拦截器(此处已简化)并且每个线程都尝试刷新token。这会导致一团糟。publicclassSignedRequestInterceptorimplementsInterceptor{@OverridepublicResponseintercept(Chainchain)throwsIOException{Requestrequest=chain.request();//1.signthisrequest

android - 检测 OkHttp 响应是否来自缓存(使用 Retrofit)

有没有办法检测Retrofit响应是来自配置的OkHttp缓存还是实时响应?客户端定义:Cachecache=newCache(getCacheDirectory(context),1024*1024*10);OkHttpClientokHttpClient=newOkHttpClient.Builder().cache(cache).build();API定义:@GET("/object")Observable>getSomeObject();调用示例:RetroApiretroApi=newRetrofit.Builder().client(okHttpClient).baseUr

java - 无法在与 java.net.URLConnection 的一个 session 中使用不同的 NTLM 凭据进行身份验证

当我使用标准JavaAPI(java.net.URLConnection)访问HTTP服务器时,凭证在第一次成功验证后被“缓存”,随后对Authenticator.setDefault()的调用无效。因此,我需要重新启动应用程序才能使用不同的凭据。当使用基本身份验证时,我没有观察到这种效果。但是我需要为我正在访问的服务器使用NTLM,而JakartaCommonsHttpClient也不是替代方案,因为它不支持NTLMv2(参见http://oaklandsoftware.com/papers/ntlm.html)查看使用Wireshark的数据包,我还观察到在第一次成功的身份验证之前