问题标签 [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.
android - 如何使用内容类型为 x-www-form-urlencoded 的 okhttp 库发布数据?
我使用了这种方法https://stackoverflow.com/a/31744565/5829906但没有发布数据。
这是我的代码
我尝试了 DefaultHttpClient ,这似乎可以正常工作,但它显示已弃用,所以想尝试一些不同的东西..无法弄清楚这有什么问题
arm - OkHttp 请求延迟
使用带有 Retrofit 的 OkHttp3 向本地网络内的服务发送简单的 post 请求。我在不同的项目中使用相同的实现。该方案的唯一区别是它在树莓派 (armv6l) 平台上运行。症状很简单,我调用同步或异步请求没有区别,这些请求的执行延迟大约 30 到 60 秒。我不知道该怎么做并更深入地调查它。Wireshark 也让我完全一样。如果我通过 cURL 调用请求,它会按预期工作。
感谢您为解决此问题提供的所有帮助。
android - 无法得到 OkHttp 的响应
我正在使用http://square.github.io/okhttp/的代码。我想要的是:我想通过发布请求从服务器获得响应。这是代码:
单击按钮时,将执行 sendSalesData() 函数。在此功能中,我处理发布请求。当我单击此按钮时,响应应该在output
textview 对象上可见。但我没有得到服务器的任何响应。
服务器响应只是简单的 php echo 代码:
但是当我点击这个按钮时,我什么也得不到。我的代码有什么问题。
对不起,我的英语不好。我是 android 应用程序的初学者,所以如果我的问题不标准,我很抱歉。
android - OkHttp 返回不可读的字符
我正在向服务器发送请求并获得Collection + Json作为响应。PostMan 中的每一件事都是完美的。
但是当我使用 OKHTTP 在代码中做同样的事情时,我得到了一些不可读的字符。
这是我的代码
我尝试了其他一些网址,这些网址运行良好。
非常感谢。
android - 如何使用 RxAndroid 和 Retrofit 2 检索响应体?
我正在使用 Retrofit 2(beta 4),我希望从使用标准Call
响应转向 RxAndroidObservable
响应。Call<List<ExampleObject>>
通过从到的简单交换,我成功地切换了大部分通话Observable<List<ExampleObject>>
。我的一些电话使用Call<okhttp3.ResponseBody>
,效果很好,但是当我换出 时Call
,遇到了一个错误:
我ResponseBody
像往常一样使用而不是另一个对象的原因是因为在这些情况下我需要解析 HTML,据我所知,没有用于 HTML 解析器的 Retrofit 转换器。我知道我可能可以自己创建一个,但我不希望我必须解析少量的 HTML。
我的问题是,Retrofit 2 本身支持时,Retrofit 2 RxJava 适配器为什么不支持ResponseBody
?还有另一种方法可以从 获取响应字符串Observable
吗?
我的服务:
相关改造代码:
响应尝试:
新的堆栈跟踪:
android - 将 @PUT 与 Retrofit 2 和 OkHttp3 一起使用
目前,我正在使用带有 Retrofit 2.0.0-beta4 和 OkHttp3 的 Android。我正在做一个这样定义的@PUT 请求:
端点在这里:http://apps:8080/employeeSkillsService/employeeSkill。以下是 PUT 请求的日志输出:
我已经在 Chrome 上的 Postman 中验证了这个带有这些标头和有效负载的端点可以多次工作。然而,当我使用 Retrofit 时,尽管端点在 Postman 中工作,但我仍然收到 404 错误。这是代码调用:
我尝试将 @Body 参数更改为 JSON 字符串,但收到一条错误消息,指出 JSON 必须以数组或对象开头。在这件事上的任何帮助都会很有用。如果没有这个功能,如果我找不到解决方案,我将被迫放弃改造,而且我并不期待这样做。
android - OkHttp newBuilder()
函数newBuilder()在 OkHttp 中究竟做了什么。它是创建一个全新的客户端还是按照此处给出的调整现有客户端。在这种情况下,“调整”到底意味着什么?
c# - Retrofit 2 和 ASP NET Core 1 文件上传
我正在尝试使用 Retrofit 2 上传文件,到目前为止,我的代码如下所示:
随着实施
这会在使用 Charles 代理查看请求时正确发送,示例原始请求是:
服务器很简单,它在 ASP.NET Core 1 上运行,API 控制器将 aIFormFile
作为输入,问题是它始终为空。我已经检查过Request.Form.Files
,这也是空的,但是对于Request.Body
发送数据包的含义,总是存在正确的内容长度,只是服务器无法识别。
服务器方法如下
有没有人有任何使用 Retrofit 2 和 ASP NET 5/ASP NET Core 上传文件的经验(无论人们如何称呼它)并且可能知道我哪里出错了?
java - 如何使用 OkHttp 中止大文件上传?
我正在使用 OkHttp 3.1.2。我创建了类似于此处找到的原始配方的文件上传:https ://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/PostMultipart.java
我找不到如何根据用户请求中止上传大文件的示例。我的意思不是如何获取用户请求,而是如何告诉 OkHttp 停止发送数据。到目前为止,我能想象的唯一解决方案是使用 custom RequestBody
,添加一个abort()
方法并覆盖这样的writeTo()
方法:
还有其他方法吗?
java - 为什么这个请求返回一个带有字节而不是 JSON 的字符串?
我正在使用okhttp库向返回 JSON 数据的某个端点发出 GET 请求。但它返回一个带有字节而不是 JSON 的字符串类型。
这是我正在尝试的:
这似乎返回一个用字节填充的字符串:
难道我做错了什么?req.body().string()
并req2.body().string()
返回正确的数据。