1 # Stubs for urllib.request (Python 3.4)
\r
4 Any, Callable, ClassVar, Dict, List, IO, Mapping, Optional, Sequence, Tuple,
\r
5 TypeVar, Union, overload,
\r
7 from http.client import HTTPResponse, HTTPMessage
\r
8 from http.cookiejar import CookieJar
\r
9 from email.message import Message
\r
10 from urllib.response import addinfourl
\r
16 _UrlopenRet = Union[HTTPResponse, addinfourl]
\r
20 url: Union[str, 'Request'], data: Optional[bytes] = ...,
\r
21 timeout: float = ..., *, cafile: Optional[str] = ...,
\r
22 capath: Optional[str] = ..., cadefault: bool = ...,
\r
23 context: Optional[ssl.SSLContext] = ...
\r
24 ) -> _UrlopenRet: ...
\r
25 def install_opener(opener: OpenerDirector) -> None: ...
\r
27 *handlers: Union[BaseHandler, Callable[[], BaseHandler]]
\r
28 ) -> OpenerDirector: ...
\r
29 def url2pathname(path: str) -> str: ...
\r
30 def pathname2url(path: str) -> str: ...
\r
31 def getproxies() -> Dict[str, str]: ...
\r
32 def parse_http_list(s: str) -> List[str]: ...
\r
33 def parse_keqv_list(l: List[str]) -> Dict[str, str]: ...
\r
37 def full_url(self) -> str: ...
\r
39 def full_url(self, value: str) -> None: ...
\r
41 def full_url(self) -> None: ...
\r
44 origin_req_host: str
\r
46 data: Optional[bytes]
\r
47 headers: Dict[str, str]
\r
49 method: Optional[str]
\r
50 def __init__(self, url: str, data: Optional[bytes] = ...,
\r
51 headers: Dict[str, str] =..., origin_req_host: Optional[str] = ...,
\r
52 unverifiable: bool = ..., method: Optional[str] = ...) -> None: ...
\r
53 def get_method(self) -> str: ...
\r
54 def add_header(self, key: str, val: str) -> None: ...
\r
55 def add_unredirected_header(self, key: str, val: str) -> None: ...
\r
56 def has_header(self, header_name: str) -> bool: ...
\r
57 def remove_header(self, header_name: str) -> None: ...
\r
58 def get_full_url(self) -> str: ...
\r
59 def set_proxy(self, host: str, type: str) -> None: ...
\r
61 def get_header(self, header_name: str) -> Optional[str]: ...
\r
63 def get_header(self, header_name: str, default: _T) -> Union[str, _T]: ...
\r
64 def header_items(self) -> List[Tuple[str, str]]: ...
\r
66 class OpenerDirector:
\r
67 addheaders: List[Tuple[str, str]]
\r
68 def add_handler(self, handler: BaseHandler) -> None: ...
\r
69 def open(self, url: Union[str, Request], data: Optional[bytes] = ...,
\r
70 timeout: float = ...) -> _UrlopenRet: ...
\r
71 def error(self, proto: str, *args: Any) -> _UrlopenRet: ...
\r
75 handler_order: ClassVar[int]
\r
76 parent: OpenerDirector
\r
77 def add_parent(self, parent: OpenerDirector) -> None: ...
\r
78 def close(self) -> None: ...
\r
79 def http_error_nnn(self, req: Request, fp: IO[str], code: int, msg: int,
\r
80 hdrs: Mapping[str, str]) -> _UrlopenRet: ...
\r
82 class HTTPDefaultErrorHandler(BaseHandler): ...
\r
84 class HTTPRedirectHandler(BaseHandler):
\r
85 def redirect_request(self, req: Request, fp: IO[str], code: int, msg: int,
\r
86 hdrs: Mapping[str, str],
\r
87 newurl: str) -> Optional[Request]: ...
\r
88 def http_error_301(self, req: Request, fp: IO[str], code: int, msg: int,
\r
89 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
90 def http_error_302(self, req: Request, fp: IO[str], code: int, msg: int,
\r
91 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
92 def http_error_303(self, req: Request, fp: IO[str], code: int, msg: int,
\r
93 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
94 def http_error_307(self, req: Request, fp: IO[str], code: int, msg: int,
\r
95 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
97 class HTTPCookieProcessor(BaseHandler):
\r
98 cookiejar: CookieJar
\r
99 def __init__(self, cookiejar: Optional[CookieJar] = ...) -> None: ...
\r
101 class ProxyHandler(BaseHandler):
\r
102 def __init__(self, proxies: Optional[Dict[str, str]] = ...) -> None: ...
\r
103 # TODO add a method for every (common) proxy protocol
\r
105 class HTTPPasswordMgr:
\r
106 def add_password(self, realm: str, uri: Union[str, Sequence[str]],
\r
107 user: str, passwd: str) -> None: ...
\r
108 def find_user_password(self, realm: str, authuri: str) -> Tuple[Optional[str], Optional[str]]: ...
\r
110 class HTTPPasswordMgrWithDefaultRealm(HTTPPasswordMgr):
\r
111 def add_password(self, realm: str, uri: Union[str, Sequence[str]],
\r
112 user: str, passwd: str) -> None: ...
\r
113 def find_user_password(self, realm: str, authuri: str) -> Tuple[Optional[str], Optional[str]]: ...
\r
115 if sys.version_info >= (3, 5):
\r
116 class HTTPPasswordMgrWithPriorAuth(HTTPPasswordMgrWithDefaultRealm):
\r
117 def add_password(self, realm: str, uri: Union[str, Sequence[str]],
\r
118 user: str, passwd: str,
\r
119 is_authenticated: bool = ...) -> None: ...
\r
120 def update_authenticated(self, uri: Union[str, Sequence[str]],
\r
121 is_authenticated: bool = ...) -> None: ...
\r
122 def is_authenticated(self, authuri: str) -> bool: ...
\r
124 class AbstractBasicAuthHandler:
\r
126 password_mgr: Optional[HTTPPasswordMgr] = ...) -> None: ...
\r
127 def http_error_auth_reqed(self, authreq: str, host: str, req: Request,
\r
128 headers: Mapping[str, str]) -> None: ...
\r
130 class HTTPBasicAuthHandler(AbstractBasicAuthHandler, BaseHandler):
\r
131 def http_error_401(self, req: Request, fp: IO[str], code: int, msg: int,
\r
132 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
134 class ProxyBasicAuthHandler(AbstractBasicAuthHandler, BaseHandler):
\r
135 def http_error_407(self, req: Request, fp: IO[str], code: int, msg: int,
\r
136 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
138 class AbstractDigestAuthHandler:
\r
139 def __init__(self, passwd: Optional[HTTPPasswordMgr] = ...) -> None: ...
\r
140 def reset_retry_count(self) -> None: ...
\r
141 def http_error_auth_reqed(self, auth_header: str, host: str, req: Request,
\r
142 headers: Mapping[str, str]) -> None: ...
\r
143 def retry_http_digest_auth(self, req: Request, auth: str) -> Optional[_UrlopenRet]: ...
\r
144 def get_cnonce(self, nonce: str) -> str: ...
\r
145 def get_authorization(self, req: Request, chal: Mapping[str, str]) -> str: ...
\r
146 def get_algorithm_impls(self, algorithm: str) -> Tuple[Callable[[str], str], Callable[[str, str], str]]: ...
\r
147 def get_entity_digest(self, data: Optional[bytes], chal: Mapping[str, str]) -> Optional[str]: ...
\r
149 class HTTPDigestAuthHandler(BaseHandler, AbstractDigestAuthHandler):
\r
150 def http_error_401(self, req: Request, fp: IO[str], code: int, msg: int,
\r
151 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
153 class ProxyDigestAuthHandler(BaseHandler, AbstractDigestAuthHandler):
\r
154 def http_error_407(self, req: Request, fp: IO[str], code: int, msg: int,
\r
155 hdrs: Mapping[str, str]) -> Optional[_UrlopenRet]: ...
\r
157 class HTTPHandler(BaseHandler):
\r
158 def http_open(self, req: Request) -> _UrlopenRet: ...
\r
160 class HTTPSHandler(BaseHandler):
\r
161 def __init__(self, debuglevel: int = ...,
\r
162 context: Optional[ssl.SSLContext] = ...,
\r
163 check_hostname: bool = ...) -> None: ...
\r
164 def https_open(self, req: Request) -> _UrlopenRet: ...
\r
166 class FileHandler(BaseHandler):
\r
167 def file_open(self, req: Request) -> _UrlopenRet: ...
\r
169 class DataHandler(BaseHandler):
\r
170 def data_open(self, req: Request) -> _UrlopenRet: ...
\r
172 class FTPHandler(BaseHandler):
\r
173 def ftp_open(self, req: Request) -> _UrlopenRet: ...
\r
175 class CacheFTPHandler(FTPHandler):
\r
176 def setTimeout(self, t: float) -> None: ...
\r
177 def setMaxConns(self, m: int) -> None: ...
\r
179 class UnknownHandler(BaseHandler):
\r
180 def unknown_open(self, req: Request) -> _UrlopenRet: ...
\r
182 class HTTPErrorProcessor(BaseHandler):
\r
183 def http_response(self) -> _UrlopenRet: ...
\r
184 def https_response(self) -> _UrlopenRet: ...
\r
186 if sys.version_info >= (3, 6):
\r
187 def urlretrieve(url: str, filename: Optional[Union[str, os.PathLike]] = ...,
\r
188 reporthook: Optional[Callable[[int, int, int], None]] = ...,
\r
189 data: Optional[bytes] = ...) -> Tuple[str, HTTPMessage]: ...
\r
191 def urlretrieve(url: str, filename: Optional[str] = ...,
\r
192 reporthook: Optional[Callable[[int, int, int], None]] = ...,
\r
193 data: Optional[bytes] = ...) -> Tuple[str, HTTPMessage]: ...
\r
194 def urlcleanup() -> None: ...
\r
197 version: ClassVar[str]
\r
198 def __init__(self, proxies: Optional[Dict[str, str]] = ...,
\r
199 **x509: str) -> None: ...
\r
200 def open(self, fullurl: str, data: Optional[bytes] = ...) -> _UrlopenRet: ...
\r
201 def open_unknown(self, fullurl: str,
\r
202 data: Optional[bytes] = ...) -> _UrlopenRet: ...
\r
203 def retrieve(self, url: str, filename: Optional[str] = ...,
\r
204 reporthook: Optional[Callable[[int, int, int], None]] = ...,
\r
205 data: Optional[bytes] = ...) -> Tuple[str, Optional[Message]]: ...
\r
207 class FancyURLopener(URLopener):
\r
208 def prompt_user_passwd(self, host: str, realm: str) -> Tuple[str, str]: ...
\r