发布于 2017-09-11 03:57:54 | 200 次阅读 | 评论: 0 | 来源: 网友投递
okhttp HTTP+SPDY 客户端开发包
okhttp 是一个 Java 的 HTTP+SPDY 客户端开发包,同时也支持 Android。
okhttp 3.9.0 已发布,该版本包括大量 bug 修复,以及新功能,具体如下:
Version 3.9.0 2017-09-03
Interceptors are more capable. The Chain
interface now offers access to the call and can adjust all call timeouts. Note that this change is source-incompatible for code that implements the Chain
interface. We don't expect this to be a problem in practice!
OkHttp has an experimental new API for tracking metrics. The new EventListener
API is designed to help developers monitor HTTP requests' size and duration. This feature is an unstable preview: the API is subject to change, and the implementation is incomplete. This is a big new API we are eager for feedback.
New: Support ALPN via Google Play Services' Dynamic Security Provider. This expands HTTP/2 support to older Android devices that have Google Play Services.
New: Consider all routes when looking for candidate coalesced connections. This increases the likelihood that HTTP/2 connections will be shared.
New: Authentication challenges and credentials now use a charset. Use this in your authenticator to support user names and passwords with non-ASCII characters.
New: Accept a charset in FormBody.Builder
. Previously form bodies were always UTF-8.
New: Support the immutable
cache-control directive.
Fix: Don't crash when an HTTP/2 call is redirected while the connection is being shut down.
Fix: Don't drop headers of healthy streams that raced with GOAWAY
frames. This bug would cause HTTP/2 streams to occasional hang when the connection was shutting down.
Fix: Honor OkHttpClient.retryOnConnectionFailure()
when the response is a HTTP 408 Request Timeout. If retries are enabled, OkHttp will retry exactly once in response to a 408.
Fix: Don't crash when reading the empty HEAD
response body if it specifies a Content-Length
.
Fix: Don't crash if the thread is interrupted while reading the public suffix database.
Fix: Use relative resource path when loading the public suffix database. Loading the resource using a path relative to the class prevents conflicts when the OkHttp classes are relocated (shaded) by allowing multiple private copies of the database.
Fix: Accept cookies for URLs that have an IPv6 address for a host.
Fix: Don't log the protocol (HTTP/1.1, h2) in HttpLoggingInterceptor if the protocol isn't negotiated yet! Previously we'd log HTTP/1.1 by default, and this was confusing.
Fix: Omit the message from MockWebServer's HTTP/2 :status
header.
Fix: Handle 'Expect: 100 Continue' properly in MockWebServer.
下载地址: