post传json
String url = "";
OkHttpClient client = new OkHttpClient();
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("username","admin");
jsonObject.put("password","123456");
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody body = RequestBody.create(jsonObject.toString(),MediaType.parse("application/json;charset=utf-8"));
Request requst = new Request.Builder()
.url(url)
.post(body)
.build();
client.newCall(requst).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
Log.e(TAG, "onFailure: " + e );
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
Log.e(TAG, "onResponse: " + response.body().string() );
}
});
post传formdata(只传文本)
String url = "";
OkHttpClient client = new OkHttpClient();
RequestBody body = new MultipartBody.Builder()
.addFormDataPart("username","admin")
.addFormDataPart("password","123456")
.build();
Request requst = new Request.Builder()
.url(url)
.post(formBody)
.build();
client.newCall(requst).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
Log.e(TAG, "onFailure: " + e );
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
Log.e(TAG, "onResponse: " + response.body().string() );
}
});
post传formdata(图文混传)
String url = "";
OkHttpClient client = new OkHttpClient();
File file = new File(getFilesDir() + "/your_file_name");
RequestBody filebody = RequestBody.create(MediaType.parse("image/png"),file);
RequestBody body = new MultipartBody.Builder()
.addFormDataPart("username","admin")
.addFormDataPart("password","123456")
.addFormDataPart("file","filename",filebody)
.build();
Request requst = new Request.Builder()
.url(url)
.post(body)
.build();
client.newCall(requst).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
Log.e(TAG, "onFailure: " + e );
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
Log.e(TAG, "onResponse: " + response.body().string() );
}
});
post传x-www-form-urlencoded
String url = "";
OkHttpClient client = new OkHttpClient();
FormBody formBody = new FormBody.Builder().build();
Request requst = new Request.Builder()
.url(url)
.post(formBody)
.build();
client.newCall(requst).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
Log.e(TAG, "onFailure: " + e );
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
Log.e(TAG, "onResponse: " + response.body().string() );
}
});
post啥也不传,以类似get的@Query方式请求
String url = "";
OkHttpClient client = new OkHttpClient();
Request requst = new Request.Builder()
.url(url)
.post(RequestBody.create("",null))
.build();
client.newCall(requst).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
Log.e(TAG, "onFailure: " + e );
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
Log.e(TAG, "onResponse: " + response.body().string() );
}
});