问题标签 [okhttp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1398 浏览

android - 试图利用 httpCache android?

我正在尝试使用带有改造的 okhttpclient 来设置缓存...如何设置过期并将其添加到我的 restApiManager?不知道应该是什么服务...

这是代码:

0 投票
1 回答
425 浏览

java - 缓存控制被忽略

我目前正在使用 Retrofit 和 Okhttp,我正在尝试缓存一些 GET 响应。我的代码是:

日志显示了这个标题:

我通过在每次调用时返回服务器 Unix 时间来检查响应,它总是返回一个新的,这意味着

缓存控制:max-age=7200

被完全忽略缓存中的日志文件也被更新为“CLEAN”和“DIRTY”注释,但没有缓存。有什么我看不到的明显的东西吗?

0 投票
12 回答
93386 浏览

android - 具有基本身份验证的 Android OkHttp

我正在将 OkHttp 库用于一个新项目,并且对它的易用性印象深刻。我现在需要使用基本身份验证。不幸的是,缺乏工作示例代码。我正在寻找一个在遇到 HTTP 401 标头时如何将用户名/密码凭据传递给 OkAuthenticator 的示例。我查看了这个答案:

使用基本 HTTP 身份验证改造 POST 请求:“无法重试流式 HTTP 正文”

但这并没有让我走得太远。OkHttp github repo上的示例也没有基于身份验证的示例。有没有人有要点或其他代码示例让我指出正确的方向?感谢你的协助!

0 投票
1 回答
758 浏览

android - 使用 OkHttp 通过服务器推送读取响应

我正在制作一个简单的 Android 应用程序来测试来自支持 SPDY 服务器推送的服务器的响应。我从测试站点开始,它应该能够在向页面发出第一个 HTTP 请求后自动推送其余资源。

我刚刚遇到OkHttp,想知道它是否已经支持接受服务器推送流。如果是,我如何获得不直接请求的“响应”的输入流?

谢谢!

0 投票
1 回答
1088 浏览

android - 在 Android 上改造 OkHttp 和 Signpost (xAuth)

我想知道是否可以将 Retrofit 与 OkHttp 一起使用来进行 xAuth 后调用,并将 cass 的散列主体作为 oauth 标头的一部分。

我有一个用于获取请求的基本实现,它没有正文,但是服务请求在包含正文(其中 oauth 标头是散列正文)正在传递的发布请求上失败。

谢谢

0 投票
1 回答
1173 浏览

android - 我如何让 Robospice 将 Retrofit 和 OKHttp 的 200 响应以外的任何内容视为错误

我在带有 Retrofit 和 OKHttp 的 android 上使用 Robospice。对于使用 Robospice RequestListener 传递回活动的响应,一切都很好。问题是它仅在连接超时或其他网络问题时才返回失败。如果返回 401,则将其归类为成功,但响应为空,因为它无法将 JSON 解析为我们的 MobileAppSetup POJO。

目前我不得不对响应进行空值检查,但我不知道是服务器错误还是有效的 401 是什么原因。

我需要将这些错误传递给 onRequestFailure 回调,以便我可以正确处理它。有没有办法指定 Robospice 应视为错误的错误代码。我认为这涉及添加某种自定义错误处理程序,但目前确实找不到解决方案。

0 投票
1 回答
750 浏览

retrofit - 使用带有 Retrofit 和 OkHttp 的 POST-Redirect-GET 模式的 SocketTimeoutException

我正在使用 Retrofit 1.5.0 和 OkHttp 调用 REST POST 端点,该端点为后续的 GET 请求返回 302。使用 OkHttp 1.3.0 可以按预期工作。但是,在升级到 OkHttp 1.5.0(或更高版本)后,即使两个请求都已发出,我也会收到 SocketTimeoutException。我的 RestAdapter 使用默认的 OkClient。

OkHttp 团队最近修复了一个问题 ( https://github.com/square/okhttp/issues/296 ),其中 Content-Length 标头从 POST 请求保留到 GET 请求。查看 OkHttp 1.5.2 的代码,似乎可以通过com.squareup.okhttp.internal.http.HttpURLConnectionImpl.getResponse()在创建 GET 请求之前删除该标头来实现修复;但是,如果实例字段fixedContentLength不是 -1,则 Content-Length 标头会在 中重新创建com.squareup.okhttp.internal.http.HttpURLConnectionImpl.newHttpEngine()。该fixedContentLength字段在原始 POST 请求retrofit.client.UrlConnectionClient.prepareRequest() 之前设置,因此结果是在发出 GET 请求时 Content-Length 标头存在正值。

这是一个错误还是我从配置的角度错过了什么?

0 投票
0 回答
471 浏览

android - gziped JSON 响应无法解析

我结合使用 Android Volley 和 OkHttp 来访问后端。

默认情况下,Accept-Encoding 是 gzip。

但有时 Android 无法解压缩响应正文。当我使用 Charles Proxy 查看请求/响应时,一切看起来都很好。

当我将 Accept-Encoding 更改为标识或放气时,它可以工作。这就是为什么我认为这是一个减压问题。

但是我该如何调试呢?

我在互联网上搜索了类似的问题,但一无所获。

0 投票
1 回答
3131 浏览

android - 使用 OkHttp 进行缓存(无需改造)

在我的应用程序 onCreate 中,我正在创建一个 10MB 的缓存:

我对资源的调用:

我将在 10 秒内初始化此调用两次,并且 OkHttp-Response-Source 标头始终为 NETWORK 200。

我在这里想念什么?

0 投票
1 回答
1637 浏览

java - okHttp 和 SPDY 的异常

我有一个使用 okHttp 与我的服务器通信的 Android 应用程序。我在客户端做了一些详细的错误处理,报告给 BugSense,我得到了一些令人困惑的 IOExceptions,我希望可以向我解释。例外情况是:

我不记得在迁移到 okHttp 之前看到前三个,特别是 SPDY 部分。最后一个问题是我在应用引擎上一直在努力解决的问题(AppEngine 提供的 SSL 似乎会抛出该错误。)

我在开始传输之前正在检查连接,那么这可能只是在传输过程中连接断开时发生的事情吗?还有其他可能导致这种情况的原因吗?

谢谢!

埃文