OkHttp用post请求
时间: 2024-01-26 11:07:32 浏览: 77
OkHttp请求
使用OkHttp发送POST请求可以使用Request.Builder类的post方法来构建请求体,例如:
```java
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.example.com/post")
.post(RequestBody.create(MediaType.parse("application/json"), "{'key':'value'}"))
.build();
Response response = client.newCall(request).execute();
```
这里我们使用了`MediaType.parse()`方法来指定请求体的类型,也可以使用其他类型,如`MediaType.parse("text/plain")`。`RequestBody.create()`方法用于创建请求体,第一个参数是请求体的类型,第二个参数是请求体的内容。
注意,发送POST请求时,请求体的长度是没有限制的。如果需要限制请求体的长度,可以使用`RequestBody.create()`方法的另一个重载方法,例如:
```java
RequestBody requestBody = new RequestBody() {
@Override
public MediaType contentType() {
return MediaType.parse("application/json");
}
@Override
public long contentLength() throws IOException {
return json.getBytes().length;
}
@Override
public void writeTo(BufferedSink sink) throws IOException {
sink.writeUtf8(json);
}
};
Request request = new Request.Builder()
.url(url)
.post(requestBody)
.build();
```
阅读全文