同步操作将从 openKylin/python-urllib3 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
chunked
parameter on retries (Pull #1715, Pull #1734)SERVER_SOFTWARE
in App Engine (Pull #1704, Issue #1470)~
) characters were incorrectly
percent-encoded in the path. (Pull #1692)cert_reqs=CERT_NONE
.
(Issue #1682)rfc3986
for URL parsing.Url.auth
would
raise an exception instead of percent-encoding those characters.HTTPResponse.auto_close = False
which makes HTTP responses
work well with BufferedReaders and other io
module features. (Pull #1652)HTTPConnectionPool.request()
(Pull #1673)HTTPSConnection
to load system CA certificates
when ca_certs
, ca_cert_dir
, and ssl_context
are
unspecified. (Pull #1608, Issue #1603)is_ipaddress
to not detect IPvFuture addresses. (Pull #1583)parse_url
to percent-encode invalid characters within the
path, query, and target components. (Pull #1586)Brotli
package. (Pull #1572, Pull #1579)urllib3.utils.parse_url()
to be RFC 3986 compliant. (Pull #1487)key_password
for HTTPSConnectionPool
to use
encrypted key_file
without creating your own SSLContext
object. (Pull #1489)SSLContext
implementations. (Pull #1496)SSLError
is raised. (Pull #1489)brotlipy
package is installed which can be requested with
urllib3[brotli]
extra. (Pull #1532)HTTPResponse.__iter__()
method. (Issue #1483)ca_certs
, ca_certs_dir
or
ssl_context
parameters are specified.GzipDecoder.decompress()
(Issue #1467)ciphers
parameter for create_urllib3_context()
. (Issue #1462)Authorization
header. Different
headers can be set via Retry.remove_headers_on_redirect
. (Issue #1316)util.selectors._fileobj_to_fd
to accept long
(Issue #1247).uuid
module to create multipart data boundaries. (Pull #1380)read_chunked()
on a closed response returns no chunks. (Issue #1088)contrib.securetransport
(Pull #1359)HTTP CONNECT
when connecting to IPv6 address via
IPv6 proxy. (Issue #1222)SSLError
. The original SSLError
is available on MaxRetryError.reason
. (Issue #1112)six
. (Issue #1231)socket_options
flag to the PoolManager
. (Issue #1165)assert_hostname
or assert_fingerprint
flag to the PoolManager
.
(Pull #1157)PoolManager.connection_from_*
methods now accept a new keyword argument,
pool_kwargs
, which are merged with the existing connection_pool_kw
.
(Pull #1016)status_forcelist
. (Issue #1147)contrib
module for using SecureTransport on macOS:
urllib3.contrib.securetransport
. (Pull #1122)http://
and https://
schemes:
for schemes it does not recognise, it assumes they are case-sensitive and
leaves them unchanged.
(Issue #1080)CVE-2016-9015. Users who are using urllib3 version 1.17 or 1.18 along with
PyOpenSSL injection and OpenSSL 1.1.0 must upgrade to this version. This
release fixes a vulnerability whereby urllib3 in the above configuration
would silently fail to validate TLS certificates due to erroneously setting
invalid flags in OpenSSL's SSL_CTX_set_verify
function. These erroneous
flags do not cause a problem in OpenSSL versions before 1.1.0, which
interprets the presence of any flag as requesting certificate validation.
There is no PR for this patch, as it was prepared for simultaneous disclosure and release. The master branch received the same fix in PR #1010.
iPAddress
subject alternative name fields in TLS certificates.
(Issue #258)HTTPResponse.closed
between Python 2 and 3.
(Issue #977)SSLContext
objects for use in SSL/TLS negotiation. (Issue #835)HTTPResponse
contains the last Retry
object, which now also
contains retries history. (Issue #848)stream
when amt=None. (Issue #928)SSLContext
. (PR #941)length_remaining
to determine remaining content
to be read. (PR #949)enforce_content_length
to enable exceptions when
incomplete data chunks are received. (PR #949)key_fn_by_scheme
pool keying mechanism that can be
overridden. (Issue #830)source_address
. (Issue #830)_make_request
.
(Issue #861)urllib3[socks]
extra. (Issue #864)ConnectionPool.close
so it can actually safely be
called by subclasses. (Issue #873)release_conn
state across retries. (Issues #651, #866)HTTPConnectionPool.ResponseCls
, which defaults to
HTTPResponse
but can be replaced with a subclass. (Issue #879)chunked=True
.
(Issue #790)pip install urllib3[secure]
on modern pip. (Issue #706)read_chunked
to handle gzipped, chunk-encoded bodies without
repeatedly flushing the decoder, to function better on Jython. (Issue #743)ca_cert_dir
for SSL-related PoolManager configuration. (Issue #758)six
for importing httplib
to work around
conflicts with other Python 3 shims. (Issue #688)NewConnectionError
, raised when we fail to establish
a new connection, usually ECONNREFUSED
socket error.ca_certs
is given, cert_reqs
defaults to
'CERT_REQUIRED'
. (Issue #650)pip install urllib3[secure]
will install Certifi and
PyOpenSSL as dependencies. (Issue #678)HTTPHeaderDict
usable as a headers
input value
(Issues #632, #679)AppEngineManager
for using URLFetch
in a
Google AppEngine environment. (Issue #664)foo://
) will raise
ValueError
instead of AssertionError
(backwards
compatible for now, but please migrate). (Issue #640)release_conn=False
. (Issue #644)httplib.IncompleteRead
not getting converted to
ProtocolError
when using HTTPResponse.stream()
(Issue #674)InsecurePlatformWarning
when SSLContext object is missing.
(Issue #558)Response.stream()
returns a generator for chunked responses.
(Issue #560)Url.url
property to return the composed url string. (Issue #394)WantWriteError
. (Issue #412)MaxRetryError.reason
will always be an exception, not string.
(Issue #481)ssl.create_default_context()
when available. (Issue #473)InsecureRequestWarning
for every insecure HTTPS request.
(Issue #496)SecurityWarning
when certificate has no subjectAltName
.
(Issue #499)body
param in .request(...)
. (Issue #513)SecurityWarning
if system clock is waaay off. (Issue #445)BrokenPipeError
and ConnectionError
handling in Py3.
(Issue #443)urllib3.util.retry.Retry
configuration object.
(Issue #326)urllib3.exceptions.HTTPException
-extending exception. (Issue #326)urllib3.exceptions.MaxRetryError
, including timeout-related exceptions
which were previously exempt. Underlying error is accessible from the
.reason
property. (Issue #326)urllib3.exceptions.ConnectionError
renamed to
urllib3.exceptions.ProtocolError
. (Issue #326)urllib3.exceptions.ProtocolError
. (Issue #418)urllib3.exceptions.LocationValueError
.
(Issue #417)urllib3.exceptions.ReadTimeoutError
. (Issue #419)disable_cache
option to urllib3.util.make_headers
. (Issue #393)socket.timeout
exception with
urllib3.exceptions.ReadTimeoutError
. (Issue #399)socket_options
keyword parameter which allows to define
setsockopt
configuration of new sockets. (Issue #397)HTTPConnection.tcp_nodelay
in favor of
HTTPConnection.default_socket_options
. (Issue #397)TypeError
bug in Python 2.6.4. (Issue #411)urllib3.util
not being included in the package.dummyserver
into site-packages
as it's only needed
for the test suite. (Issue #362)source_address
. (Issue #352)urllib3.util.parse_url
(properly parse '@' in
username, and blank ports like 'hostname:').urllib3.connection
module which contains all the HTTPConnection
objects.urllib3.util.Timeout
-related fixes. Also changed constructor
signature to a more sensible order. [Backwards incompatible]
(Issues #252, #262, #263)backports.ssl_match_hostname
if it's installed. (Issue #274).tell()
method to urllib3.response.HTTPResponse
which
returns the number of bytes read so far. (Issue #277)HTTPConnectionPool.is_same_host
to allow a pool with no specified port to be considered equal to to an
HTTP/HTTPS url with port 80/443 explicitly provided. (Issue #305)urllib3.poolmanager.ProxyManager
not retrying on connect errors.
(Issue #310)urllib3.contrib.pyopenssl
from the default 64 to 1024 in a single certificate. (Issue #318)urllib3.collections_.HTTPHeaderDict
object rather than a plain dict
.
(Issue #329, #333)urllib3.contrib.pyopenssl
now uses the operating system's default CA
certificates on inject. (Issue #332)retries=False
will immediately raise any exceptions without
wrapping them in MaxRetryError
. (Issue #348)urllib3.util.Timeout
class.
(Issue #231)Location: ...
header. (Issue #179)urllib3.response.HTTPResponse
now inherits from io.IOBase
for bonus
file-like functionality. (Issue #187)assert_hostname=False
when creating a HTTPSConnectionPool will
skip hostname verification for SSL connections. (Issue #194)urllib3.response.HTTPResponse.stream(...)
which acts as a
generator wrapped around .read(...)
. (Issue #198)urllib3.poolmanager.PoolManager.connection_from_host(...)
(Issue #204)ProxyManager
requests now include non-default port in Host: ...
header. (Issue #217)ProxyManager
. (Issue #170 #139)RequestField
object can be passed to the fields=...
param which
can specify headers. (Issue #220)urllib3.exceptions.ProxyError
when connecting to proxy fails.
(Issue #221)ProxyManager
automatically adds Host: ...
header if not given.cert_req
now optionally takes a string like
"REQUIRED" or "NONE". Same with ssl_version
takes strings like "SSLv23"
The string values reflect the suffix of the respective constant variable.
(Issue #130)socksipy
now based on Anorov's fork which handles unexpectedly
closed proxy connections and larger read buffers. (Issue #135)ssl.PROTOCOL_*
constant
to the ssl_version
parameter of HTTPSConnectionPool
. (Issue #109)six
, no longer overrides the global six
module
namespace. (Issue #113)urllib3.exceptions.MaxRetryError
contains a reason
property holding
the exception that prompted the final retry. If reason is None
then it
was due to a redirect. (Issue #92, #114)PoolManager.urlopen()
from not redirecting more than once.
(Issue #149)Content-Type: text/plain
for multi-part encoding parameters
that are not files. (Issue #111)httplib.HTTPConnection
. (Issue #122)urllib3.add_stderr_logger()
for quickly enabling STDERR debug
logging in urllib3.urllib3.util.parse_url(url)
.urllib3.PoolManager
strips the scheme and host before sending the request
uri. (Issue #8)urllib3.exceptions.DecodeError
exception for when automatic decoding,
based on the Content-Type header, fails.urllib3.PoolManager.clear()
.mimetools.choose_boundary
to uuid.uuid4()
.urllib3.util
submodule.encode_multipart_formdata
fixes related to Python 3 strings vs
bytes.test-requirements.txt
. (Issue #47)ssl
module is not available. (Issue #41)urllib3.exceptions.LocationParseError
which inherits from ValueError
.select.poll
instead of select.select
for platforms that support
it.Queue.LifoQueue
instead of Queue.Queue
for more aggressive
connection reusing. Configurable by overriding ConnectionPool.QueueCls
.ImportError
during install when ssl
module is not available.
(Issue #41)PoolManager
redirects between schemes (such as HTTP -> HTTPS) not
completing properly. (Issue #28, uncovered by Issue #10 in v1.1)dummyserver
to use tornado
instead of webob
+
eventlet
. Removed extraneous unsupported dummyserver testing backends.
Added socket-level tests.dummyserver
to its own root namespace module (used for
testing).VerifiedHTTPSConnection
by vendoring in
Py32's ssl_match_hostname
. (Issue #25)PoolManager
. (Issue #10)decode_content
being ignored when set through urlopen
. (Issue
#27)VerifiedHTTPSConnection
which would only present as a bug if
you're using the object manually. (Thanks pyos)__delitem__
and
__getitem__
behaviour), with tests. Shouldn't affect core urllib3 code.PoolManager
with LRU expiration of connections (tested and
documented).ProxyManager
(needs tests, docs, and confirmation that it works
with HTTPS proxies).preload_content=False
. You can now make requests and just read the headers
without loading the content.encode_multipart_formdata
.RequestMethods
. Old
helpers like get_url
and post_url
should be abandoned in favour of
the new request(method, url, ...)
..py
files.docs/
and on https://urllib3.readthedocs.io/.VerifiedHTTPSConnection
.NTLMConnectionPool
in contrib.assert_host_name
optional parameter. Now compatible with proxies.此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。