如何使用OKHTTP发出post请求?

2024-01-12

我读了一些将 json 发布到服务器的示例。

有人说:

OkHttp 是 HttpUrlConnection 接口的实现 由Java提供。它提供了一个用于写入内容的输入流 不知道(或关心)该内容是什么格式。

现在我想使用名称和密码参数向 URL 进行正常发布。

这意味着我需要自己将名称和值对编码到流中?


As per the docs https://github.com/square/okhttp/blob/master/CHANGELOG.md, OkHttp 版本 3 替换FormEncodingBuilder with FormBody and FormBody.Builder(),所以旧的例子将不再起作用。

表单和多部分实体现已建模。我们已经更换了不透明的FormEncodingBuilder与更强大的FormBody and FormBody.Builder combo.

同样我们也升级了MultipartBuilder into MultipartBody, MultipartBody.Part, and 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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用OKHTTP发出post请求? 的相关文章

随机推荐