post和get的不同在于对Request请求的构造不同(因为post需要携带参数),post方式中的Request需要传递一个RequestBody作为post的参数。RequestBody有两个子类:FormBody和MultipartBody RequestBody--json数据提交 public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); OkHttpClient cl...
RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8") , json); Request request = new Request.Builder() .url("http://172.20.192.168:8080/getbookByJson")//请求的url .post(requestBody) .build(); //创建/Call Call call = okHttpClient.newCall(request)...
Response response = client.newCall(request).execute(); 我们得到的数据目前存储在response中。 可以用如下写法得到返回的具体内容 String responseData = response.body().string(); 1.4POST请求 上面的都是发送GET请求的步骤,下面我们来看POST请求: 先构建RequestBody对象来存放待提交的参数: RequestBody requestBo...
public static String httpGet(String url) { String result = null; OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url(url).build(); try { Response response = client.newCall(request).execute(); result = response.body().string(); } catch (Exception e)...
1、发起一个异步 GET 请求,代码具体如下: String url = "http://wwww.baidu.com"; OkHttpClient okHttpClient = new OkHttpClient(); final Request request = new Request.Builder() .url(url) .get()//默认就是GET请求,可以不写 .build(); ...
body().string()); } // 清除并关闭线程池 client.dispatcher().executorService().shutdown(); // 清除并关闭连接池 client.connectionPool().evictAll(); } } 2、运行结果: 3.3、有参数(添加参数) 1、创建Get3类。 有参数,创建HttpUrl对象,添加参数。 创建Request对象,使用get方法。 脚本代码: 代码...
}/** post请求 get不一样的地方就是传参数不一样,post请求需要把参数封装到RequestBody对象, * 调用Request对象的post方法把RequestBody传入进去*/privatevoidokHttpPost(String url) { OkHttpClient okHttpClient=newOkHttpClient(); FormBody.Builder formBuilder=newFormBody.Builder(); ...
OkHttpClientclient=newOkHttpClient();RequestBodyfileBody=RequestBody.create(MediaType.parse("image/png"),file);RequestBodyrequestBody=newMultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("label",label).addFormDataPart("image_file",file.getName(),fileBody).addFormDataPart("resoluti...
它需要发送带有请求正文的 HTTP GET 请求。不幸的是,OkHttp 不支持开箱即用,如果我尝试自己构建请求,则会抛出异常。 RequestBody body = RequestBody.create("text/plain", "test"); // No RequestBody supported Request request = new Request.Builder() .url("http://example.com") .get() .build();...