我阅读了一些将 json 发布到服务器的示例。
有人说:
OkHttp是Java提供的HttpUrlConnection接口的实现。它提供了一个用于编写内容的输入流,并且不知道(或不关心)该内容是什么格式。
现在我想使用名称和密码参数对 URL 进行正常发布。
这意味着我需要自己将名称和值对编码为流?
原文由 user2219372 发布,翻译遵循 CC BY-SA 4.0 许可协议
我阅读了一些将 json 发布到服务器的示例。
有人说:
OkHttp是Java提供的HttpUrlConnection接口的实现。它提供了一个用于编写内容的输入流,并且不知道(或不关心)该内容是什么格式。
现在我想使用名称和密码参数对 URL 进行正常发布。
这意味着我需要自己将名称和值对编码为流?
原文由 user2219372 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 文档,OkHttp 版本 3 将 FormEncodingBuilder
替换为 --- FormBody
和 FormBody.Builder()
Form 和 Multipart 主体现在已建模。我们用更强大的
FormBody
和FormBody.Builder
组合替换了不透明的FormEncodingBuilder
组合。同样,我们升级了
MultipartBuilder
MultipartBody
MultipartBody.Part
MultipartBody.Builder
因此,如果您使用的是 OkHttp 3.x,请尝试以下示例:
OkHttpClient client = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.add("message", "Your message")
.build();
Request request = new Request.Builder()
.url("https://www.example.com/index.php")
.post(formBody)
.build();
try {
Response response = client.newCall(request).execute();
// Do something with the response.
} catch (IOException e) {
e.printStackTrace();
}
原文由 Mauker 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
当前接受的答案已过时。现在,如果您想创建一个发布请求并向其添加参数,您应该使用 MultipartBody.Builder,因为 Mime Craft 现在已被弃用。