Request request = new Request.Builder()
.url(“https://en.wikipedia.org/w/index.php”)
.post(formBody)
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
}
Post方式提交分块请求(Posting a multipart request)
Multipart.Builder可以构建复杂的请求体,与HTML文件上传形式兼容。多块请求体的每块请求都是一个请求体,并且可以定义它自己的请求头。这些请求头可以用来描述这些请求,例如它的Content-Disposition。如果Content-Length和Content-Type可用的话,它们将自动被添加到请求头中。
/**
-
The imgur client ID for OkHttp recipes. If you’re using imgur for anything other than running
-
these examples, please request your own client ID! https://api.imgur.com/oauth2
*/
private static final String IMGUR_CLIENT_ID = “…”;
private static final MediaType MEDIA_TYPE_PNG = MediaType.parse(“image/png”);
private final OkHttpClient client = new OkHttpClient();
public void run() throws Exception {
// Use the imgur image upload API as documented at https://api.imgur.com/endpoints/image
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(“title”, “Square Logo”)
.addFormDataPart(“image”, “logo-square.png”,
RequestBody.create(MEDIA_TYPE_PNG, new File(“website/static/logo-square.png”)))
.build();
Request request = new Request.Builder()
.header(“Authorization”, "Client-ID " + IMGUR_CLIENT_ID)
.url(“https://api.imgur.com/3/image”)
.post(requestBody)
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}<