问题标签 [okhttp3]

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 回答
2947 浏览

android - OKHTTP RequestBody 错误无法访问 ByteString

我正在尝试使用 OkHttpClient 将 json 数据从 Android 发布到我的服务器。

我的代码:

public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");

此处发生构建错误:RequestBody body = RequestBody.create(JSON, json);

错误:错误:(65, 39) 错误:无法访问 okio.ByteString 的 ByteString 类文件未找到

我已将下载的 jar 文件从 OkHttp(它是 3.0.1)复制到 libs 文件夹。我错过了什么吗?是什么导致了错误?

0 投票
1 回答
3737 浏览

java - 为什么我在使用 Retrofit2 时得到“Type okhttp3.Call 没有类型参数”?

我正在尝试按照本教程进行 Retrofit2 Getting Started and Create an Android Client

进口没问题

我可以按照教程很好,除了一件事。我正在尝试创建GitHubService Interface,但遇到了两个问题:Call<V>说它不接受任何类型参数,而且我也不确定将Contributor类放在哪里,因为它根据教程仅声明为static,这是否意味着它嵌套在某个地方?

我将 Contributor 类放在一个单独的文件中,并将其公开。此外,Call 类不会在 Android Studio 中自动导入,我必须手动选择它,但这是我得到的唯一 Call(Android 手机 api 除外)

请帮助我了解为什么会出现此错误,据我所知,周围没有人有相同的东西,所以我缺少一些基本的东西。

0 投票
1 回答
1863 浏览

android - Retrofit2 HttpLoggingInterceptor Logcat

可能是一个新手问题,但我想知道我实际上在哪里捕获日志猫中的日志。是否有一个特定的地方我放了一个日志,一个特殊的正则表达式使用等等。这就是我的拦截器的样子:

这是一个 api 调用,其中 body 为空

0 投票
1 回答
1432 浏览

android - Android okhttp 异步进度对话框

我想将progressdialog添加到okhttp(异步,不是AsyncTask)

但我收到了这个错误:

错误:无法在未调用 Looper.prepare() 的线程内创建处理程序

如何以正确的方式修复它?我想确定这是最好的方法。

0 投票
2 回答
768 浏览

android - Volley PATCH 请求棒棒糖前

我目前正在使用 volley 作为我的网络库(我正在使用最新版本)。我目前看到,如果棒棒糖前设备发出 PATCH 请求,则会发生此错误:

我已经在 Volley Patch中看到了这个链接错误,它说要使用 okhttp 将新的 httpstack 定义为使用 OkUrlFactory 的传输层。

问题是 OkUrlFactory 现在已被弃用,文档说现在使用 HttpUrlConnection,所以这是一个问题,因为 httpurlconnection 不适用于某些设备的补丁请求。

是否有另一种方法可以使用 volley 执行补丁请求?

0 投票
1 回答
1693 浏览

retrofit - OKHttp3 最大陈旧缓存

我从 Android 中的缓存和 Retrofit/OKHttp3 开始。我们需要为我们的应用程序支持离线模式/服务器关闭,我正在尝试弄清楚如何正确配置缓存以支持它。这个想法是在服务器可用时从服务器获取新副本(如果没有任何更改,则为 304)。如果服务器关闭或应用程序离线,我们需要获取缓存的响应。

我像这样配置了缓存控制:

这工作得很好,但我不明白为什么即使“max-stale”已经过去,OKHttp 也会提供缓存的响应?我认为 50 秒后我会收到一个 504 - Unsatisfiable request 因为 max-stale period 已经过去了?

这是我用于 OKHttp 的拦截器:

任何想法如何配置缓存,以便在最大陈旧期过后它不会提供缓存的响应?

0 投票
3 回答
9908 浏览

android - OkHTTP 错误无法访问 ByteString

我正在使用 OkHttp 库来处理多部分数据,一切都很好,我没有任何错误,但是当我编译程序时,它给了我错误

错误:(172, 40) 错误:无法访问 okio.ByteString 的 ByteString 类文件未找到

错误发生在这里RequestBody.create(MEDIA_TYPE_JPG, new File(data.getFileParam())))

这是实现多部分请求的方法的完整代码

我没有任何 okio 类的导入,所以我尝试添加 manully fun android studio show syntax errorcannot resolve symbol okio

0 投票
1 回答
3168 浏览

java - 无法解析方法 setCookieHandler (java.net.CookieManger

我将 CookieManger 与 okHttp 一起使用,但我不知道它为什么这么说:

无法解析 setCookieMethod。我用谷歌搜索了它的一个有效方法,并且在项目中导入了 CookieManger 和 OkHttp。

0 投票
1 回答
429 浏览

okhttp - 为什么 MultiPart 正文部分中不允许使用 Content-Type 标头?

我正在尝试解决这个问题(我无法控制服务器,必须添加它),但如果有人知道,我很想知道原因。谢谢。(它在第 233 行)。

0 投票
2 回答
6433 浏览

android - 改造 2:如何为特定请求设置单独的超时?

我在我的改造适配器中设置了一个全局超时

伟大的!但我想为某些请求设置一个特定的超时时间,例如

所以veryImportant调用我想要 35 秒的超时,但notImportant默认值

这可能吗?

我的研究一落千丈。

但是我遇到了这个,但不确定它是否可以在 Retrofit 中使用

https://github.com/square/okhttp/wiki/Recipes#per-call-configuration

感谢您的阅读。请帮忙。