问题标签 [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 投票
9 回答
53215 浏览

android - 如何在Android中使用okhttp库向api(http post)添加参数

在我的 Android 应用程序中,我使用的是okHttp库。如何使用 okhttp 库将参数发送到服务器(api)?目前我正在使用以下代码访问服务器现在需要使用 okhttp 库。

这是我的代码:

0 投票
5 回答
50150 浏览

android - 主线程上的 Okhttp 响应回调

我创建了一个助手类来处理我的应用程序中的所有 http 调用。这是一个简单的 okhttp 单例包装器,看起来像这样(我省略了一些不重要的部分):

然后,在我的主要活动中,我使用了这个助手类:

onSuccess代码运行时抛出异常:

android.view.ViewRootImpl$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图。

据我了解,Okhttp 回调在主线程上运行,为什么会出现此错误?

** 顺便说一句,我创建HttpCallback了包装 OkhttpCallback类的接口,因为我想改变它的行为,onResponse因此onFailure我可以统一处理由于 i/o 异常导致的失败响应和由于服务器问题导致的失败响应的逻辑。

谢谢。

0 投票
3 回答
41927 浏览

android - 如何使用 OkHttp 在 Android 上实现 cookie 处理?

使用 Square https://github.com/square/okhttp的 OkHttp ,我该如何:

  1. 检索从服务器返回的 cookie
  2. 为即将到来的请求存储 cookie
  3. 在后续请求中使用存储的 cookie
  4. 更新后续请求返回的cookie

理想情况下,cookie 会随每个请求自动存储、重新发送和更新。

0 投票
5 回答
25081 浏览

android - Android Picasso 库,如何添加身份验证标头?

我尝试使用自定义身份验证器设置自定义 OkHttpClient,但是正如文档所说:“响应来自远程 Web 或代理服务器的身份验证挑战。” 我必须为每张图片提出 2 个请求,这并不理想。

有没有像 Retrofit 这样的请求拦截器?还是我在 OkHttpClient 中遗漏了什么?

我正在使用最新版本:

谢谢!

0 投票
5 回答
72447 浏览

android - 使用 OkHttp 分段上传大文件

使用 OKhttp 在 Android 中多部分上传单个大文件(更具体地说,到 s3)有哪些选择?

0 投票
3 回答
8768 浏览

android - 使用 OKHttp 创建正确的 MultipartBuilder Http 请求

我想重新编码我的项目并使用 okHttp 而不是 Android 中实现的默认 HttpClient。

我已经下载了 okhttp-main 版本的最新源代码。

现在我找到了一些如何创建和构建 POST 请求的示例。

现在我的问题。我想创建一个 RequestBody 来保留几个数据(字符串、文件等),但我不能直接分配它们。

意味着 RequestBuilder 必须通过不同的循环来添加数据。

OkHTTPs RequestBody 似乎立即需要示例中列出的数据 https://github.com/square/okhttp/wiki/Recipes

当我想尝试类似的东西时

它失败了,因为 build() 本身创建了 RequestBody。在它只是一个 MultipartBuilder() 之前。如果我尝试强制类型为 RequestBody 它不会编译/运行。

那么,在创建 MultiPartBuilder 并添加 DATA 和 Strings 之后添加这些数据的正确方法是什么?

0 投票
1 回答
3338 浏览

android - 如何解决 Retrofit Android java.net.UnknownHostException: host == null on numeric domain

我正在使用带有 OKhttp2.0.0-RC2 和 Okio 的 Retrofit android 最新版本 1.6

在此处输入图像描述

当我调用 Post 方法时,此Json 生成器 URL调用代码在状态码 200 下工作正常(即它调用 success(..) 方法,解析 json 一切正常!

杰森:

代码:字符串 hostUrl=在此处输入图像描述

.setLogLevel(RestAdapter.LogLevel.FULL) .setErrorHandler(new MyErrorHandler()).build();

MyErrorHandler 类:

}

波乔:

上面的代码 100% 工作一切都很好。

问题: 当我将 Json url api 更改为 IP 编号的数字 URL 时:在此处输入图像描述

我收到此错误日志:

更新:

此问题已通过接受的答案解决!

0 投票
4 回答
14747 浏览

java - 改造连接失败将 RetrofitError.response 返回为 null

使用改造 1.6.0、OkHTTP 2.0.0 和 OkHTTP-UrlConnection 2.0.0。

我正在使用 Retrofit 对不存在的 URL 进行 POST 到服务。正如预期的那样,调用失败回调。但是,RetrofitError 参数没有响应。我真的很想获取使用返回的 HTTP 状态代码

但由于 getResponse() 返回 null,我不能。

为什么 getResponse() 为空,如何获取状态?

谢谢。

此外,正如预期的那样,我收到的错误是 UnknownHostException。重复:我期待这个错误。我想知道如何获取 HTTP 状态代码或为什么 error.getResponse() 返回 null。

编辑:这是一些代码:

0 投票
3 回答
13943 浏览

android - 如何使用 OkHttp 2.0 实现 Android Volley?

OkHttp2.0 不再支持这个 OkHttpStack: https ://gist.github.com/JakeWharton/5616899

当前将 OkHttp 2.0.0 与 Volley 集成的模式是什么?

0 投票
1 回答
748 浏览

android - 如何以及为什么使用 OKHttp 发送 MultiPartEntity(最好分块)?

我知道最好使用基于 HttpUrlConnection 的 OKHttp,但我不知道为什么。

为什么使用 OKHttp 而不是实现的 HTTPUrlConnection 更好?

而且..如何发送混合数据。POST 变量和文件。最好是如果有多线程可能。

这是我的客户端使用 HttpUrlConnection 的示例。在 OKHTTP 中会是什么样子?

Dataclass 和 DataPackage 只是用于保存文件和数据以进行发送的模式。

客户端 if self 将通过使用 FactoryManager (LazyLoading) 调用

每次调用时,我的 HttpClient 的构造函数都会请求它的设置。

切换到 OKHttp 有意义吗?我有很多要求。有时大约有 100 个线程打开(每个带有 Executor 的线程都是它自己的 HttpRequest)。

我为什么要使用 OKHttp?感谢到目前为止。