【问题标题】:Disable SPDY connection on retrofit改造时禁用 SPDY 连接
【发布时间】:2015-08-06 04:36:39
【问题描述】:

我在一个 android 项目中使用改造,问题是当用户连接到代理或 VPN 时,从 HTTP REST API 查询的 IP 地址不会由于连接重用而改变。

日志显示它正在使用 SPDY - OkHttp-Selected-Protocol: spdy/3.1 无论如何请求改造以使用 HTTP 1.1 或在指定路由或整个改造上禁用连接重用/SPDY 而无需触及服务器端?

之前在使用okhttp的时候,我每次调用之前都是使用下面的方法。 (这是一个非常糟糕的主意)

ConnectionPool pool = ConnectionPool.getDefault();
pool.evictAll();

【问题讨论】:

    标签: java android retrofit okhttp


    【解决方案1】:

    要禁用 SPDY,您可以使用 setProtocols:

    ArrayList<Protocol> protocolList = new ArrayList<Protocol>();
    protocolList.add(Protocol.HTTP_1_1);
    
    OkHttpClient okHttpClient = new OkHttpClient();
    okHttpClient.setProtocols(protocolList);
    
    RestAdapter restAdapter = new RestAdapter.Builder()
        .setEndpoint(API_URL)
        .setClient(new OkClient(okHttpClient))
        .build();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-19
      • 2013-10-13
      • 2023-03-04
      • 2015-07-07
      • 2011-03-12
      • 1970-01-01
      • 2014-02-22
      • 2016-07-02
      相关资源
      最近更新 更多