OkHttpClient做了很多事情:是否提供了代理,传递Cookie,响应缓存,添加SSL协议,校验服务器主机是否合法,数据库连接池等
Proxy和ProxySelector
- 代理服务器是介于客户端和服务器之间的一台服务区,设置了代理服务器之后。客户端请求先被送到代理服务器,由代理服务器向真正的Web服务器发送请求,并取回客户端所需要的消息,再送回给客户端。
- 由于大部分代理服务器具有缓冲的功能,它会不断地将新取得的数据存储到代理服务器的本地存储器上,如果客户端所请求的数据在它的本机的存储器上已经存在而且是最新的,那么它就无须从Web服务器取数据,而是直接将本地存储器上的数据送回浏览器,这样能显著提高浏览速度。
Java使用代理服务器的两种方式:
1.直接使用Proxy创建连接
2.使用ProxySelector自动选择代理服务器
CookieHandler
如果想通过 HttpURLConnection 访问网站,网站返回cookie信息,下次再通过HttpURLConnection访问时,把网站返回 cookie信息再返回给该网站。
CookieManager manager = new CookieManager();
CookieHandler.setDefault(manager);
通过这两行代码就可以把网站返回的cookie信息存储起来,下次访问网站的时候,自动帮你把cookie信息带上。
CookieManager还可以设置CookiePolicy。设置如下:
CookieManager manager