|
|
|
|
@@ -54,13 +54,13 @@ _DataType: TypeAlias = ReadableBuffer | SupportsRead[bytes] | Iterable[bytes] |
|
|
|
|
|
|
|
|
|
|
def urlopen(
|
|
|
|
|
url: str | Request,
|
|
|
|
|
data: _DataType | None = ...,
|
|
|
|
|
data: _DataType | None = None,
|
|
|
|
|
timeout: float | None = ...,
|
|
|
|
|
*,
|
|
|
|
|
cafile: str | None = ...,
|
|
|
|
|
capath: str | None = ...,
|
|
|
|
|
cadefault: bool = ...,
|
|
|
|
|
context: ssl.SSLContext | None = ...,
|
|
|
|
|
cafile: str | None = None,
|
|
|
|
|
capath: str | None = None,
|
|
|
|
|
cadefault: bool = False,
|
|
|
|
|
context: ssl.SSLContext | None = None,
|
|
|
|
|
) -> _UrlopenRet: ...
|
|
|
|
|
def install_opener(opener: OpenerDirector) -> None: ...
|
|
|
|
|
def build_opener(*handlers: BaseHandler | Callable[[], BaseHandler]) -> OpenerDirector: ...
|
|
|
|
|
@@ -101,11 +101,11 @@ class Request:
|
|
|
|
|
def __init__(
|
|
|
|
|
self,
|
|
|
|
|
url: str,
|
|
|
|
|
data: _DataType = ...,
|
|
|
|
|
data: _DataType = None,
|
|
|
|
|
headers: MutableMapping[str, str] = ...,
|
|
|
|
|
origin_req_host: str | None = ...,
|
|
|
|
|
unverifiable: bool = ...,
|
|
|
|
|
method: str | None = ...,
|
|
|
|
|
origin_req_host: str | None = None,
|
|
|
|
|
unverifiable: bool = False,
|
|
|
|
|
method: str | None = None,
|
|
|
|
|
) -> None: ...
|
|
|
|
|
def get_method(self) -> str: ...
|
|
|
|
|
def add_header(self, key: str, val: str) -> None: ...
|
|
|
|
|
@@ -124,7 +124,7 @@ class Request:
|
|
|
|
|
class OpenerDirector:
|
|
|
|
|
addheaders: list[tuple[str, str]]
|
|
|
|
|
def add_handler(self, handler: BaseHandler) -> None: ...
|
|
|
|
|
def open(self, fullurl: str | Request, data: _DataType = ..., timeout: float | None = ...) -> _UrlopenRet: ...
|
|
|
|
|
def open(self, fullurl: str | Request, data: _DataType = None, timeout: float | None = ...) -> _UrlopenRet: ...
|
|
|
|
|
def error(self, proto: str, *args: Any) -> _UrlopenRet: ...
|
|
|
|
|
def close(self) -> None: ...
|
|
|
|
|
|
|
|
|
|
@@ -158,14 +158,14 @@ class HTTPRedirectHandler(BaseHandler):
|
|
|
|
|
|
|
|
|
|
class HTTPCookieProcessor(BaseHandler):
|
|
|
|
|
cookiejar: CookieJar
|
|
|
|
|
def __init__(self, cookiejar: CookieJar | None = ...) -> None: ...
|
|
|
|
|
def __init__(self, cookiejar: CookieJar | None = None) -> None: ...
|
|
|
|
|
def http_request(self, request: Request) -> Request: ... # undocumented
|
|
|
|
|
def http_response(self, request: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented
|
|
|
|
|
def https_request(self, request: Request) -> Request: ... # undocumented
|
|
|
|
|
def https_response(self, request: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented
|
|
|
|
|
|
|
|
|
|
class ProxyHandler(BaseHandler):
|
|
|
|
|
def __init__(self, proxies: dict[str, str] | None = ...) -> None: ...
|
|
|
|
|
def __init__(self, proxies: dict[str, str] | None = None) -> None: ...
|
|
|
|
|
def proxy_open(self, req: Request, proxy: str, type: str) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
# TODO add a method for every (common) proxy protocol
|
|
|
|
|
|
|
|
|
|
@@ -173,7 +173,7 @@ class HTTPPasswordMgr:
|
|
|
|
|
def add_password(self, realm: str, uri: str | Sequence[str], user: str, passwd: str) -> None: ...
|
|
|
|
|
def find_user_password(self, realm: str, authuri: str) -> tuple[str | None, str | None]: ...
|
|
|
|
|
def is_suburi(self, base: str, test: str) -> bool: ... # undocumented
|
|
|
|
|
def reduce_uri(self, uri: str, default_port: bool = ...) -> str: ... # undocumented
|
|
|
|
|
def reduce_uri(self, uri: str, default_port: bool = True) -> str: ... # undocumented
|
|
|
|
|
|
|
|
|
|
class HTTPPasswordMgrWithDefaultRealm(HTTPPasswordMgr):
|
|
|
|
|
def add_password(self, realm: str | None, uri: str | Sequence[str], user: str, passwd: str) -> None: ...
|
|
|
|
|
@@ -181,16 +181,16 @@ class HTTPPasswordMgrWithDefaultRealm(HTTPPasswordMgr):
|
|
|
|
|
|
|
|
|
|
class HTTPPasswordMgrWithPriorAuth(HTTPPasswordMgrWithDefaultRealm):
|
|
|
|
|
def add_password(
|
|
|
|
|
self, realm: str | None, uri: str | Sequence[str], user: str, passwd: str, is_authenticated: bool = ...
|
|
|
|
|
self, realm: str | None, uri: str | Sequence[str], user: str, passwd: str, is_authenticated: bool = False
|
|
|
|
|
) -> None: ...
|
|
|
|
|
def update_authenticated(self, uri: str | Sequence[str], is_authenticated: bool = ...) -> None: ...
|
|
|
|
|
def update_authenticated(self, uri: str | Sequence[str], is_authenticated: bool = False) -> None: ...
|
|
|
|
|
def is_authenticated(self, authuri: str) -> bool: ...
|
|
|
|
|
|
|
|
|
|
class AbstractBasicAuthHandler:
|
|
|
|
|
rx: ClassVar[Pattern[str]] # undocumented
|
|
|
|
|
passwd: HTTPPasswordMgr
|
|
|
|
|
add_password: Callable[[str, str | Sequence[str], str, str], None]
|
|
|
|
|
def __init__(self, password_mgr: HTTPPasswordMgr | None = ...) -> None: ...
|
|
|
|
|
def __init__(self, password_mgr: HTTPPasswordMgr | None = None) -> None: ...
|
|
|
|
|
def http_error_auth_reqed(self, authreq: str, host: str, req: Request, headers: HTTPMessage) -> None: ...
|
|
|
|
|
def http_request(self, req: Request) -> Request: ... # undocumented
|
|
|
|
|
def http_response(self, req: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented
|
|
|
|
|
@@ -207,7 +207,7 @@ class ProxyBasicAuthHandler(AbstractBasicAuthHandler, BaseHandler):
|
|
|
|
|
def http_error_407(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...
|
|
|
|
|
|
|
|
|
|
class AbstractDigestAuthHandler:
|
|
|
|
|
def __init__(self, passwd: HTTPPasswordMgr | None = ...) -> None: ...
|
|
|
|
|
def __init__(self, passwd: HTTPPasswordMgr | None = None) -> None: ...
|
|
|
|
|
def reset_retry_count(self) -> None: ...
|
|
|
|
|
def http_error_auth_reqed(self, auth_header: str, host: str, req: Request, headers: HTTPMessage) -> None: ...
|
|
|
|
|
def retry_http_digest_auth(self, req: Request, auth: str) -> _UrlopenRet | None: ...
|
|
|
|
|
@@ -235,7 +235,7 @@ class _HTTPConnectionProtocol(Protocol):
|
|
|
|
|
) -> HTTPConnection: ...
|
|
|
|
|
|
|
|
|
|
class AbstractHTTPHandler(BaseHandler): # undocumented
|
|
|
|
|
def __init__(self, debuglevel: int = ...) -> None: ...
|
|
|
|
|
def __init__(self, debuglevel: int = 0) -> None: ...
|
|
|
|
|
def set_http_debuglevel(self, level: int) -> None: ...
|
|
|
|
|
def do_request_(self, request: Request) -> Request: ...
|
|
|
|
|
def do_open(self, http_class: _HTTPConnectionProtocol, req: Request, **http_conn_args: Any) -> HTTPResponse: ...
|
|
|
|
|
@@ -246,7 +246,7 @@ class HTTPHandler(AbstractHTTPHandler):
|
|
|
|
|
|
|
|
|
|
class HTTPSHandler(AbstractHTTPHandler):
|
|
|
|
|
def __init__(
|
|
|
|
|
self, debuglevel: int = ..., context: ssl.SSLContext | None = ..., check_hostname: bool | None = ...
|
|
|
|
|
self, debuglevel: int = 0, context: ssl.SSLContext | None = None, check_hostname: bool | None = None
|
|
|
|
|
) -> None: ...
|
|
|
|
|
def https_open(self, req: Request) -> HTTPResponse: ...
|
|
|
|
|
def https_request(self, request: Request) -> Request: ... # undocumented
|
|
|
|
|
@@ -262,7 +262,7 @@ class DataHandler(BaseHandler):
|
|
|
|
|
|
|
|
|
|
class ftpwrapper: # undocumented
|
|
|
|
|
def __init__(
|
|
|
|
|
self, user: str, passwd: str, host: str, port: int, dirs: str, timeout: float | None = ..., persistent: bool = ...
|
|
|
|
|
self, user: str, passwd: str, host: str, port: int, dirs: str, timeout: float | None = None, persistent: bool = True
|
|
|
|
|
) -> None: ...
|
|
|
|
|
def close(self) -> None: ...
|
|
|
|
|
def endtransfer(self) -> None: ...
|
|
|
|
|
@@ -292,59 +292,59 @@ class HTTPErrorProcessor(BaseHandler):
|
|
|
|
|
|
|
|
|
|
def urlretrieve(
|
|
|
|
|
url: str,
|
|
|
|
|
filename: StrOrBytesPath | None = ...,
|
|
|
|
|
reporthook: Callable[[int, int, int], object] | None = ...,
|
|
|
|
|
data: _DataType = ...,
|
|
|
|
|
filename: StrOrBytesPath | None = None,
|
|
|
|
|
reporthook: Callable[[int, int, int], object] | None = None,
|
|
|
|
|
data: _DataType = None,
|
|
|
|
|
) -> tuple[str, HTTPMessage]: ...
|
|
|
|
|
def urlcleanup() -> None: ...
|
|
|
|
|
|
|
|
|
|
class URLopener:
|
|
|
|
|
version: ClassVar[str]
|
|
|
|
|
def __init__(self, proxies: dict[str, str] | None = ..., **x509: str) -> None: ...
|
|
|
|
|
def open(self, fullurl: str, data: ReadableBuffer | None = ...) -> _UrlopenRet: ...
|
|
|
|
|
def open_unknown(self, fullurl: str, data: ReadableBuffer | None = ...) -> _UrlopenRet: ...
|
|
|
|
|
def __init__(self, proxies: dict[str, str] | None = None, **x509: str) -> None: ...
|
|
|
|
|
def open(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...
|
|
|
|
|
def open_unknown(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...
|
|
|
|
|
def retrieve(
|
|
|
|
|
self,
|
|
|
|
|
url: str,
|
|
|
|
|
filename: str | None = ...,
|
|
|
|
|
reporthook: Callable[[int, int, int], object] | None = ...,
|
|
|
|
|
data: ReadableBuffer | None = ...,
|
|
|
|
|
filename: str | None = None,
|
|
|
|
|
reporthook: Callable[[int, int, int], object] | None = None,
|
|
|
|
|
data: ReadableBuffer | None = None,
|
|
|
|
|
) -> tuple[str, Message | None]: ...
|
|
|
|
|
def addheader(self, *args: tuple[str, str]) -> None: ... # undocumented
|
|
|
|
|
def cleanup(self) -> None: ... # undocumented
|
|
|
|
|
def close(self) -> None: ... # undocumented
|
|
|
|
|
def http_error(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: bytes | None = ...
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: bytes | None = None
|
|
|
|
|
) -> _UrlopenRet: ... # undocumented
|
|
|
|
|
def http_error_default(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage
|
|
|
|
|
) -> _UrlopenRet: ... # undocumented
|
|
|
|
|
def open_data(self, url: str, data: ReadableBuffer | None = ...) -> addinfourl: ... # undocumented
|
|
|
|
|
def open_data(self, url: str, data: ReadableBuffer | None = None) -> addinfourl: ... # undocumented
|
|
|
|
|
def open_file(self, url: str) -> addinfourl: ... # undocumented
|
|
|
|
|
def open_ftp(self, url: str) -> addinfourl: ... # undocumented
|
|
|
|
|
def open_http(self, url: str, data: ReadableBuffer | None = ...) -> _UrlopenRet: ... # undocumented
|
|
|
|
|
def open_https(self, url: str, data: ReadableBuffer | None = ...) -> _UrlopenRet: ... # undocumented
|
|
|
|
|
def open_http(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented
|
|
|
|
|
def open_https(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented
|
|
|
|
|
def open_local_file(self, url: str) -> addinfourl: ... # undocumented
|
|
|
|
|
def open_unknown_proxy(self, proxy: str, fullurl: str, data: ReadableBuffer | None = ...) -> None: ... # undocumented
|
|
|
|
|
def open_unknown_proxy(self, proxy: str, fullurl: str, data: ReadableBuffer | None = None) -> None: ... # undocumented
|
|
|
|
|
|
|
|
|
|
class FancyURLopener(URLopener):
|
|
|
|
|
def prompt_user_passwd(self, host: str, realm: str) -> tuple[str, str]: ...
|
|
|
|
|
def get_user_passwd(self, host: str, realm: str, clear_cache: int = ...) -> tuple[str, str]: ... # undocumented
|
|
|
|
|
def get_user_passwd(self, host: str, realm: str, clear_cache: int = 0) -> tuple[str, str]: ... # undocumented
|
|
|
|
|
def http_error_301(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | addinfourl | None: ... # undocumented
|
|
|
|
|
def http_error_302(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | addinfourl | None: ... # undocumented
|
|
|
|
|
def http_error_303(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | addinfourl | None: ... # undocumented
|
|
|
|
|
def http_error_307(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | addinfourl | None: ... # undocumented
|
|
|
|
|
if sys.version_info >= (3, 11):
|
|
|
|
|
def http_error_308(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | addinfourl | None: ... # undocumented
|
|
|
|
|
|
|
|
|
|
def http_error_401(
|
|
|
|
|
@@ -354,8 +354,8 @@ class FancyURLopener(URLopener):
|
|
|
|
|
errcode: int,
|
|
|
|
|
errmsg: str,
|
|
|
|
|
headers: HTTPMessage,
|
|
|
|
|
data: ReadableBuffer | None = ...,
|
|
|
|
|
retry: bool = ...,
|
|
|
|
|
data: ReadableBuffer | None = None,
|
|
|
|
|
retry: bool = False,
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
def http_error_407(
|
|
|
|
|
self,
|
|
|
|
|
@@ -364,8 +364,8 @@ class FancyURLopener(URLopener):
|
|
|
|
|
errcode: int,
|
|
|
|
|
errmsg: str,
|
|
|
|
|
headers: HTTPMessage,
|
|
|
|
|
data: ReadableBuffer | None = ...,
|
|
|
|
|
retry: bool = ...,
|
|
|
|
|
data: ReadableBuffer | None = None,
|
|
|
|
|
retry: bool = False,
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
def http_error_default(
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage
|
|
|
|
|
@@ -374,14 +374,14 @@ class FancyURLopener(URLopener):
|
|
|
|
|
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
def retry_http_basic_auth(
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
def retry_https_basic_auth(
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
def retry_proxy_http_basic_auth(
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
def retry_proxy_https_basic_auth(
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = ...
|
|
|
|
|
self, url: str, realm: str, data: ReadableBuffer | None = None
|
|
|
|
|
) -> _UrlopenRet | None: ... # undocumented
|
|
|
|
|
|