精华内容
下载资源
问答
  • okhttp3

    2020-01-10 15:35:05
    package com.youkeda.test.http... import java.io.IOException; import okhttp3.Call; import okhttp3.OkHttpClient; import okhttp3.Request; import org.apache.commons.lang3.StringUtils; public class GetPa...

    在这里插入图片描述
    在这里插入图片描述

    package com.youkeda.test.http;
    
    import java.io.IOException;
    import okhttp3.Call;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import org.apache.commons.lang3.StringUtils;
    
    public class GetPage {
    
      // okHttpClient 实例
      private OkHttpClient okHttpClient;
    
      public GetPage() {
        // 定义一个client
        okHttpClient = new OkHttpClient();
      }
    
      /**
       * 根据输入的url,读取页面内容并返回
       */
      public String getPageContentSync(String url) {
        // 参数判断,未输入参数则直接返回
        if (StringUtils.isBlank(url)) {
          return null;
        }
    
        // 定义一个request
        Request request = new Request.Builder().url(url).build();
        // 使用client去请求
        Call call = okHttpClient.newCall(request);
        String result = null;
        try {
          // 获得返回结果
          result = call.execute().body().string();
          System.out.println("call " + url + " , content's size=" + result.length());
        } catch (IOException e) {
          System.out.println("request " + url + " error . ");
          e.printStackTrace();
        }
    
        return result;
      }
    
      public static void main(String[] args) {
        GetPage getPage = new GetPage();
        String content = getPage.getPageContentSync("http://www.taobao.com");
        System.out.println(content);
      }
    }
    
    

    Get同步请求
    在这里插入图片描述

    <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
    <dependency>
     <groupId>com.squareup.okhttp3</groupId>
     <artifactId>okhttp</artifactId>
     <version>4.1.0</version>
    </dependency>
    <!-- 字符串操作工具库 -->
    <dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
     <version>3.9</version>
    </dependency>
    

    在这里插入图片描述

    public String getPageContentSync(String url) {
        // 参数判断,未输入参数则直接返回
        if (StringUtils.isBlank(url)) {
          return null;
        }
    
        //2.定义一个request
        Request request = new Request.Builder().url(url).build();
        //3.使用client去请求
        Call call = okHttpClient.newCall(request);
        String result = null;
        try {
          //4.获得返回结果
          result = call.execute().body().string();
          System.out.println("call " + url + " , content's size=" + result.length());
        } catch (IOException e) {
          System.out.println("request " + url + " error . ");
          e.printStackTrace();
        }
    
        return result;
      }
    

    在这里插入图片描述
    在这里插入图片描述

    package com.youkeda.test.http;
    
    import java.io.IOException;
    import okhttp3.Call;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import org.apache.commons.lang3.StringUtils;
    
    public class PageOperator{
    
      // okHttpClient 实例
      private OkHttpClient okHttpClient;
    
      public PageOperator() {
        // 定义一个client
        okHttpClient = new OkHttpClient();
      }
    
      /**
       * 根据输入的url,读取页面内容并返回
       */
      public String getPageContentSync(String url) {
        // 参数判断,未输入参数则直接返回
        if (StringUtils.isBlank(url)) {
          return null;
        }
    
        // 定义一个request
        Request request = new Request.Builder().url(url).build();
        // 使用client去请求
        Call call = okHttpClient.newCall(request);
        String result = null;
        try {
          // 获得返回结果
          result = call.execute().body().string();
          System.out.println("call " + url + " , content's size=" + result.length());
        } catch (IOException e) {
          System.out.println("request " + url + " error . ");
          e.printStackTrace();
        }
    
        return result;
      }
    
      public static void main(String[] args) {
      PageOperator getPage = new PageOperator();
        String content = getPage.getPageContentSync("http://www.baidu.com");
        System.out.println(content);
      }
    }
    
    
    展开全文
  • OKHttp3

    2018-12-10 18:49:49
    参考链接: https://www.jianshu.com/p/da4a806e599b; https://www.cnblogs.com/wjtaigwh/p/6210534.html; OkHttp是一个高效的HTTP客户端 OkHttp的使用是非常简单的....1.OKhttp3的使用 1....

    参考链接:
    https://www.jianshu.com/p/da4a806e599b;
    https://www.cnblogs.com/wjtaigwh/p/6210534.html;

    OkHttp是一个高效的HTTP客户端

    OkHttp的使用是非常简单的. 它的请求/响应 API 使用构造器模式builders来设计,它支持阻塞式的同步请求和带回调的异步请求。

    1.OKhttp3的使用
    1.1 异步get请求
      第一步,创建OKHttpClient对象
      第二步,创建Request请求
      第三步,创建一个Call对象
      第四步,将请求添加到调度中

    public void asyncHttpGet(String url){
    //1.创建OkHttpClient;
     OkHttpClient mOkHttpClient = new OkHttpClient();
    //2.创建一个Request
    Request request = (new okhttp3.Request.Builder()).get().url(url).build();
    //等同于Request request = mOkHttpClient .get().url(url).build();
    //3.创建一个call对象
    Call call = mOkHttpClient.newCall(request);
    //4,将请求加入到调度中
    call.enqueue(new Callback(){
    
    Public void onFailue(Call arg0, IOException e){
    
    }
    
    Public void onResponse(Call call, Response response) throw IOException{
    If(response.isSusccessful()){
    
    }
    }
    });
    }
    

    1.2.异步post请求
    在创建Request时需要将服务器需要的参数传递进去

    public void asyncHttpPost(String url, RequestParam params){
     If(!TextUtils.isEmpty(url) && params){
    
    Request request = (new okhttp3.Request.Builder()).url(url).post(params.create())build();
    Call call = mOkHttpClient.newCall(request);
    
    call.enqueue(new Callback(){
    
    Public void onFailue(Call arg0, IOException e){
    
    }
    
    Public void onResponse(Call call, Response response) throw IOException{
    If(response.isSusccessful()){
    
    }
    }
    });
    }
    }
    

    1.3,同步的get请求

    public void asyncHttpGet(String url){
    Request request = (new okhttp3.Request.Builder()).get().url(url).build();
    Call call = mOkHttpClient.newCall(request);
    Response response = call.execute();
    }
    

    1.4.同步的post请求

    public void syncHttpPost(String url, RequestParam params){
    Request request = (new okhttp3.Request.Builder()).url(url).post(params.create())build();
    Call call = mOkHttpClient.newCall(request);
    Response response = call.execute();
    }
    

    配置OKHttpClient

    Builder ClientBuilder = new Builder();
    ClientBuilder.connetTimeout(10L,TimeUnit.SECONDS);
    ClientBuilder.writeTimeout(10L,TimeUnit.SECONDS);
    ClientBuilder.readTimeout(10L,TimeUnit.SECONDS);
    ConnectionPool connectionPool =new ConnectionPool(0,1000L,TimeUnit.MILLISECONDS);
    ClientBuilder.connectionPool(connectionPool);
    OKHttpClient = ClientBuilder.build();
    Dispatcher dispatcher = OKHttpClient.dispatcher();
    dispatcher .setMaxRequestsPerHost(1);
    Dispatcher.setMaxRequests(1);
    ClientBuilder.dispatcher(dispatcher );
    

    备注:TimeUnit

    
    		TimeUnit.DAYS          //天
    		TimeUnit.HOURS         //小时
    		TimeUnit.MINUTES       //分钟
    		TimeUnit.SECONDS       //秒
    		TimeUnit.MILLISECONDS  //毫秒
    
    展开全文
  • OkHttp3

    2017-07-19 20:55:15
    关于OkHttp这里附上官方API文档和... compile ‘com.squareup.okhttp3:okhttp:3.8.1’ //目前Android最新版 OkHttp有四大优点:1 HTTP/2 support allows all requests to the same host to share a socket.2 Connec

    关于OkHttp这里附上官方API文档和github地址

    OkHttp

    OkHttp Github

    compile ‘com.squareup.okhttp3:okhttp:3.8.1’ //目前Android最新版

    OkHttp有四大优点:

    1 HTTP/2 support allows all requests to the same host to share a socket.
    
    2 Connection pooling reduces request latency (if HTTP/2 isn’t available).
    
    3 Transparent GZIP shrinks download sizes.
    
    4 Response caching avoids the network completely for repeat requests.

    Get使用说明:

    OkHttpClient client = new OkHttpClient();
    
    String run(String url) throws IOException {
      Request request = new Request.Builder()
          .url(url)
          .build();
    
      Response response = client.newCall(request).execute();
      return response.body().string();
    }

    Post使用说明:

    public static final MediaType JSON
        = MediaType.parse("application/json; charset=utf-8");
    
    OkHttpClient client = new OkHttpClient();
    
    String post(String url, String json) throws IOException {
      RequestBody body = RequestBody.create(JSON, json);
      Request request = new Request.Builder()
          .url(url)
          .post(body)
          .build();
      Response response = client.newCall(request).execute();
      return response.body().string();
    }
    展开全文
  • OKhttp3

    2019-03-03 07:40:00
    针对上一博文订单调用用户使用默认数据交互方式,下面介绍下使用 Okhttp3网络数据交换方式。 1、订单启动类变化 package com.tycoon.orderService; import org.springframework.boot.SpringApplication; ...

     针对上一博文订单调用用户使用默认数据交互方式,下面介绍下使用 Okhttp3网络数据交换方式。

    1、订单启动类变化

    package com.tycoon.orderService;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
    import org.springframework.web.client.RestTemplate;
    
    /**
     *  Class Name: OrderApplication.java
     *  Description: Order启动类
     *  @author northeasttycoon  DateTime 2019年3月1日 上午6:53:49 
     *  @company tycoon  
     *  @version 1.0
     */
    @SpringBootApplication
    public class OrderApplication {
    	public static void main(String[] args) {
    		SpringApplication.run(OrderApplication.class, args);
    	}
    	// http://localhost:9091/order/findById/1
    	// 第一种:使用默认传输方式
    //	@Bean
    //	public RestTemplate restTemplate(){
    //		return new RestTemplate();
    //	}
    	
    	// 第二种使用 okhttp3
    	@Bean
    	public RestTemplate restTemplate(){
    		return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
    	}
    }
    

     2、在pox.xml文件中引用okhttp3 引用包

     

    访问方式不变:既:

     

    转载于:https://www.cnblogs.com/northeastTycoon/p/10463906.html

    展开全文
  • Okhttp3

    2019-01-13 19:06:47
    public class OkHttp { private static OkHttpClient okHttpClient; private static volatile OkHttp instance; //拦截器 private Interceptor getAppInterceptor(){ Interceptor interceptor = ...
  • 深入解析OkHttp3

    万次阅读 多人点赞 2017-01-08 21:47:24
    OkHttp是一个精巧的网络请求库,有如下特性: 1)支持http2,对一台机器的所有请求共享同一个socket 2)内置连接池,支持连接复用,减少延迟 3)支持透明的gzip压缩响应体 4)通过缓存避免重复的请求 5)请求失败时...
  • OkHttp 3 support

    2020-12-08 23:02:19
    <div><p>Amplitude support for OkHttp version 3 should include sharing the OkHttp instance as parameter as recommended in OkHttp 3 changelog. <pre><code> There is no longer a global singleton ...
  • OKHTTP3的简单使用 使用okhttp3需引入以下依赖 compile 'com.squareup.okio:okio:1.13.0' compile 'com.squareup.okhttp3:okhttp:3.9.0' 1.okhttp GET方式请求 //创建OkHttpClient对象 OkHttpClient
  • OkHttp3 websocket

    2019-12-18 11:10:32
    使用OkHttp3之Websocket实现长连接 这个发图片也没成功,发字符是可以的。 首先在在build.gradle中添加对Okhttp的支持 compile 'com.squareup.okhttp3:okhttp:3.8.1' compile '...
  • 在项目module下的build.gradle添加okhttp3依赖 compile 'com.squareup.okhttp3:okhttp:3.3.1' 二、基本使用 1、okhttp3 Get 方法 1.1 、okhttp3 同步 Get方法 /** * 同步Get方法 */ private void okHttp_...
  • okhttp3使用

    万次阅读 多人点赞 2016-06-03 11:02:12
    一、引入包在项目module下的build.gradle添加okhttp3依赖compile 'com.squareup.okhttp3:okhttp:3.3.1'二、基本使用1、okhttp3 Get 方法1.1 、okhttp3 同步 Get方法/** * 同步Get方法 */ private void okHttp_...
  • Okhttp3+MVP

    2018-10-31 14:43:28
    Android Okhttp3+MVP简单实战 https://blog.csdn.net/DeMonliuhui/article/details/71246566
  • okHttp3封装

    2020-12-10 11:54:11
    public class OkHttp3Util { /** * 懒汉 安全 加同步 * 私有的静态成员变量 只声明不创建 * 私有的构造方法 * 提供返回实例的静态方法 */ private static OkHttpClient okHttpClient = null; private ...
  • okhttp3工具类

    2018-11-21 14:20:06
    OKhttp3上传,key,value上传,单张图片上传,多张图片上传,文件下载,json上传·······
  • okhttp3封装

    2017-10-22 20:29:52
    import android.os.Handler;...import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; public class OkHttpUtils { private Handler handler = new Handler()
  • OkHttp3Utils

    2018-03-30 08:47:04
    public class OkHttp3Utils { /** * 懒汉 安全 加同步 * 私有的静态成员变量 只声明不创建 * 私有的构造方法 * 提供返回实例的静态方法 */ private static OkHttp3Utils okHttp3Utils = null; private ...
  • SpringBoot 配置 okhttp3

    万次阅读 2019-06-29 14:25:25
    SpringBoot 配置 okhttp3
  • 本系列文章讲述OkHttp3的基本使用、OkHttp3的高级功能以及OkHttp3源码的解析等,请持续关注。本篇文章是此系列的第二篇。Mockmock在测试领域是很重要的一个概念。mock测试就是在测试过程中,对于某些不容易构造或者...
  • OkHttp3使用笔记

    2020-10-11 16:47:07
    导入依赖 implementation(...import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; //OKHttp工具类 public class OkHttpUtil { //GET请求
  • Okhttp3使用

    万次阅读 2018-03-28 11:05:16
    历史发展 Okhttp是一个处理网络请求的开源项目,是安卓最火热的轻量级框架,Retrofit底层也是使用Okhttp,接下来长话短说,... compile 'com.squareup.okhttp3:okhttp:3.9.0' //2、json数据解析的工具 compile 'c...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,625
精华内容 4,250
关键字:

okhttp3