创建OkHttpClient对象
OkHttpClient client = new OkHttpClient();
这种方式创建,设置都是default
如果要设置超时时间,比如读取的超时时间,可以使用newBuild()方法设置
OkHttpClient client = new OkHttpClient()
.newBuilder()
.readTimeout(5, TimeUnit.SECONDS)//此处设置了读取超时时间,五秒钟
.build();//调用build()来返回一个OkHttpClient对象
创建Request对象
创建Request和RequestBody
对于GET方法,我们不需要RequestBody,参数直接加在URL上传值就行了。
后台比如spring boot可以使用@RequestParam(“参数名”)的方式拿到。
我们这样使用OkHttp框架的Request
Request request = new Request.Builder().url(url).get().build();
这里我们在url传入要请求的网址,方法选择GET
如果我们要使用POST方法,就需要RequestBody来传递参数了
JSONObject sender = new JSONObject();
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
//MediaType需要指定,我们从字符串解析它
RquestBody requestBody = FormBody.create(JSON, sender);
//我们指定了RequestBody中的MediaType和要发送的数据
Request request = new Request.Builder().url(url).post(requestBody).build();
//我们创建了一个Request对象并设置为POST方法,把requestBody加入了它
使用OkHttpClient对象进行连接
接下来我们使用OkHttpClient对象进行连接
OkHttpClient client = new OkHttpClient()
.newBuilder()
.writeTimeout(5, TimeUnit.SECONDS)//此处设置了写入超时时间,五秒钟
.build();
Response response = client.newCall(request).execute();
//我们使用之前创造好的request来进行连接,并用Response对象接收返回结果
如果我们想要返回的信息:
String result = response.body().string();//获得String对象
InputStream is = response.body().byteStream();//获得输入流
此处要注意,获得字符串对象的方法不是toString( ),而是string( )
用到此框架的小项目GitHub:
https://github.com/nsplnpbjy/OkHttpAndJsoupForPornPic
来源:CSDN
作者:nsplnpbjy
链接:https://blog.csdn.net/nsplnpbjy/article/details/104690131