@@ -4,7 +4,24 @@ import sys
44from email .message import Message
55from http .client import HTTPMessage , HTTPResponse , _HTTPConnectionProtocol
66from http .cookiejar import CookieJar
7- from typing import IO , Any , Callable , ClassVar , Dict , List , Mapping , NoReturn , Optional , Sequence , Tuple , TypeVar , Union , overload
7+ from typing import (
8+ IO ,
9+ Any ,
10+ Callable ,
11+ ClassVar ,
12+ Dict ,
13+ List ,
14+ Mapping ,
15+ NoReturn ,
16+ Optional ,
17+ Pattern ,
18+ Sequence ,
19+ Tuple ,
20+ TypeVar ,
21+ Union ,
22+ overload ,
23+ )
24+ from urllib .error import HTTPError
825from urllib .response import addinfourl
926
1027_T = TypeVar ("_T" )
@@ -65,12 +82,14 @@ class Request:
6582 @overload
6683 def get_header (self , header_name : str , default : _T ) -> Union [str , _T ]: ...
6784 def header_items (self ) -> List [Tuple [str , str ]]: ...
85+ def has_proxy (self ) -> bool : ...
6886
6987class OpenerDirector :
7088 addheaders : List [Tuple [str , str ]]
7189 def add_handler (self , handler : BaseHandler ) -> None : ...
7290 def open (self , fullurl : Union [str , Request ], data : Optional [bytes ] = ..., timeout : Optional [float ] = ...) -> _UrlopenRet : ...
7391 def error (self , proto : str , * args : Any ) -> _UrlopenRet : ...
92+ def close (self ) -> None : ...
7493
7594class BaseHandler :
7695 handler_order : ClassVar [int ]
@@ -79,9 +98,15 @@ class BaseHandler:
7998 def close (self ) -> None : ...
8099 def http_error_nnn (self , req : Request , fp : IO [str ], code : int , msg : int , headers : Mapping [str , str ]) -> _UrlopenRet : ...
81100
82- class HTTPDefaultErrorHandler (BaseHandler ): ...
101+ class HTTPDefaultErrorHandler (BaseHandler ):
102+ def http_error_default (
103+ self , req : Request , fp : IO [bytes ], code : int , msg : str , hdrs : Mapping [str , str ]
104+ ) -> HTTPError : ... # undocumented
83105
84106class HTTPRedirectHandler (BaseHandler ):
107+ max_redirections : ClassVar [int ] # undocumented
108+ max_repeats : ClassVar [int ] # undocumented
109+ inf_msg : ClassVar [str ] # undocumented
85110 def redirect_request (
86111 self , req : Request , fp : IO [str ], code : int , msg : str , headers : Mapping [str , str ], newurl : str
87112 ) -> Optional [Request ]: ...
@@ -101,14 +126,21 @@ class HTTPRedirectHandler(BaseHandler):
101126class HTTPCookieProcessor (BaseHandler ):
102127 cookiejar : CookieJar
103128 def __init__ (self , cookiejar : Optional [CookieJar ] = ...) -> None : ...
129+ def http_request (self , request : Request ) -> Request : ... # undocumented
130+ def http_response (self , request : Request , response : HTTPResponse ) -> HTTPResponse : ... # undocumented
131+ def https_request (self , request : Request ) -> Request : ... # undocumented
132+ def https_response (self , request : Request , response : HTTPResponse ) -> HTTPResponse : ... # undocumented
104133
105134class ProxyHandler (BaseHandler ):
106135 def __init__ (self , proxies : Optional [Dict [str , str ]] = ...) -> None : ...
136+ def proxy_open (self , req : Request , proxy : str , type : str ) -> Optional [_UrlopenRet ]: ... # undocumented
107137 # TODO add a method for every (common) proxy protocol
108138
109139class HTTPPasswordMgr :
110140 def add_password (self , realm : str , uri : Union [str , Sequence [str ]], user : str , passwd : str ) -> None : ...
111141 def find_user_password (self , realm : str , authuri : str ) -> Tuple [Optional [str ], Optional [str ]]: ...
142+ def is_suburi (self , base : str , test : str ) -> bool : ... # undocumented
143+ def reduce_uri (self , uri : str , default_port : bool = ...) -> str : ... # undocumented
112144
113145class HTTPPasswordMgrWithDefaultRealm (HTTPPasswordMgr ):
114146 def add_password (self , realm : Optional [str ], uri : Union [str , Sequence [str ]], user : str , passwd : str ) -> None : ...
@@ -122,15 +154,23 @@ class HTTPPasswordMgrWithPriorAuth(HTTPPasswordMgrWithDefaultRealm):
122154 def is_authenticated (self , authuri : str ) -> bool : ...
123155
124156class AbstractBasicAuthHandler :
157+ rx : ClassVar [Pattern ] # undocumented
125158 def __init__ (self , password_mgr : Optional [HTTPPasswordMgr ] = ...) -> None : ...
126159 def http_error_auth_reqed (self , authreq : str , host : str , req : Request , headers : Mapping [str , str ]) -> None : ...
160+ def http_request (self , req : Request ) -> Request : ... # undocumented
161+ def http_response (self , req : Request , response : HTTPResponse ) -> HTTPResponse : ... # undocumented
162+ def https_request (self , req : Request ) -> Request : ... # undocumented
163+ def https_response (self , req : Request , response : HTTPResponse ) -> HTTPResponse : ... # undocumented
164+ def retry_http_basic_auth (self , host : str , req : Request , realm : str ) -> Optional [_UrlopenRet ]: ... # undocumented
127165
128166class HTTPBasicAuthHandler (AbstractBasicAuthHandler , BaseHandler ):
167+ auth_header : ClassVar [str ] # undocumented
129168 def http_error_401 (
130169 self , req : Request , fp : IO [str ], code : int , msg : int , headers : Mapping [str , str ]
131170 ) -> Optional [_UrlopenRet ]: ...
132171
133172class ProxyBasicAuthHandler (AbstractBasicAuthHandler , BaseHandler ):
173+ auth_header : ClassVar [str ]
134174 def http_error_407 (
135175 self , req : Request , fp : IO [str ], code : int , msg : int , headers : Mapping [str , str ]
136176 ) -> Optional [_UrlopenRet ]: ...
@@ -146,11 +186,13 @@ class AbstractDigestAuthHandler:
146186 def get_entity_digest (self , data : Optional [bytes ], chal : Mapping [str , str ]) -> Optional [str ]: ...
147187
148188class HTTPDigestAuthHandler (BaseHandler , AbstractDigestAuthHandler ):
189+ auth_header : ClassVar [str ] # undocumented
149190 def http_error_401 (
150191 self , req : Request , fp : IO [str ], code : int , msg : int , headers : Mapping [str , str ]
151192 ) -> Optional [_UrlopenRet ]: ...
152193
153194class ProxyDigestAuthHandler (BaseHandler , AbstractDigestAuthHandler ):
195+ auth_header : ClassVar [str ] # undocumented
154196 def http_error_407 (
155197 self , req : Request , fp : IO [str ], code : int , msg : int , headers : Mapping [str , str ]
156198 ) -> Optional [_UrlopenRet ]: ...
@@ -173,17 +215,33 @@ class HTTPSHandler(AbstractHTTPHandler):
173215 def https_request (self , request : Request ) -> Request : ... # undocumented
174216
175217class FileHandler (BaseHandler ):
218+ names : ClassVar [Optional [Tuple [str , ...]]] # undocumented
176219 def file_open (self , req : Request ) -> addinfourl : ...
220+ def get_names (self ) -> Tuple [str , ...]: ... # undocumented
221+ def open_local_file (self , req : Request ) -> addinfourl : ... # undocumented
177222
178223class DataHandler (BaseHandler ):
179224 def data_open (self , req : Request ) -> addinfourl : ...
180225
226+ class ftpwrapper : # undocumented
227+ def __init__ (
228+ self , user : str , passwd : str , host : str , port : int , dirs : str , timeout : Optional [float ] = ..., persistent : bool = ...
229+ ) -> None : ...
230+
181231class FTPHandler (BaseHandler ):
182232 def ftp_open (self , req : Request ) -> addinfourl : ...
233+ def connect_ftp (
234+ self , user : str , passwd : str , host : str , port : int , dirs : str , timeout : float
235+ ) -> ftpwrapper : ... # undocumented
183236
184237class CacheFTPHandler (FTPHandler ):
185238 def setTimeout (self , t : float ) -> None : ...
186239 def setMaxConns (self , m : int ) -> None : ...
240+ def check_cache (self ) -> None : ... # undocumented
241+ def clear_cache (self ) -> None : ... # undocumented
242+ def connect_ftp (
243+ self , user : str , passwd : str , host : str , port : int , dirs : str , timeout : float
244+ ) -> ftpwrapper : ... # undocumented
187245
188246class UnknownHandler (BaseHandler ):
189247 def unknown_open (self , req : Request ) -> NoReturn : ...
@@ -222,6 +280,73 @@ class URLopener:
222280 reporthook : Optional [Callable [[int , int , int ], None ]] = ...,
223281 data : Optional [bytes ] = ...,
224282 ) -> Tuple [str , Optional [Message ]]: ...
283+ def addheader (self , * args : Tuple [str , str ]) -> None : ... # undocumented
284+ def cleanup (self ) -> None : ... # undocumented
285+ def close (self ) -> None : ... # undocumented
286+ def http_error (
287+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : Mapping [str , str ], data : Optional [bytes ] = ...
288+ ) -> _UrlopenRet : ... # undocumented
289+ def http_error_default (
290+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : Mapping [str , str ]
291+ ) -> _UrlopenRet : ... # undocumented
292+ def open_data (self , url : str , data : Optional [bytes ] = ...) -> addinfourl : ... # undocumented
293+ def open_file (self , url : str ) -> addinfourl : ... # undocumented
294+ def open_ftp (self , url : str ) -> addinfourl : ... # undocumented
295+ def open_http (self , url : str , data : Optional [bytes ] = ...) -> _UrlopenRet : ... # undocumented
296+ def open_https (self , url : str , data : Optional [bytes ] = ...) -> _UrlopenRet : ... # undocumented
297+ def open_local_file (self , url : str ) -> addinfourl : ... # undocumented
298+ def open_unknown_proxy (self , proxy : str , fullurl : str , data : Optional [bytes ] = ...) -> None : ... # undocumented
225299
226300class FancyURLopener (URLopener ):
227301 def prompt_user_passwd (self , host : str , realm : str ) -> Tuple [str , str ]: ...
302+ def get_user_passwd (self , host : str , realm : str , clear_cache : int = ...) -> Tuple [str , str ]: ... # undocumented
303+ def http_error_301 (
304+ self , url : str , fp : IO [str ], errcode : int , errmsg : str , headers : Mapping [str , str ], data : Optional [bytes ] = ...
305+ ) -> Optional [Union [_UrlopenRet , addinfourl ]]: ... # undocumented
306+ def http_error_302 (
307+ self , url : str , fp : IO [str ], errcode : int , errmsg : str , headers : Mapping [str , str ], data : Optional [bytes ] = ...
308+ ) -> Optional [Union [_UrlopenRet , addinfourl ]]: ... # undocumented
309+ def http_error_303 (
310+ self , url : str , fp : IO [str ], errcode : int , errmsg : str , headers : Mapping [str , str ], data : Optional [bytes ] = ...
311+ ) -> Optional [Union [_UrlopenRet , addinfourl ]]: ... # undocumented
312+ def http_error_307 (
313+ self , url : str , fp : IO [str ], errcode : int , errmsg : str , headers : Mapping [str , str ], data : Optional [bytes ] = ...
314+ ) -> Optional [Union [_UrlopenRet , addinfourl ]]: ... # undocumented
315+ def http_error_401 (
316+ self ,
317+ url : str ,
318+ fp : IO [str ],
319+ errcode : int ,
320+ errmsg : str ,
321+ headers : Mapping [str , str ],
322+ data : Optional [bytes ] = ...,
323+ retry : bool = ...,
324+ ) -> Optional [_UrlopenRet ]: ... # undocumented
325+ def http_error_407 (
326+ self ,
327+ url : str ,
328+ fp : IO [str ],
329+ errcode : int ,
330+ errmsg : str ,
331+ headers : Mapping [str , str ],
332+ data : Optional [bytes ] = ...,
333+ retry : bool = ...,
334+ ) -> Optional [_UrlopenRet ]: ... # undocumented
335+ def http_error_default (
336+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : Mapping [str , str ]
337+ ) -> addinfourl : ... # undocumented
338+ def redirect_internal (
339+ self , url : str , fp : IO [str ], errcode : int , errmsg : str , headers : Mapping [str , str ], data : Optional [bytes ]
340+ ) -> Optional [_UrlopenRet ]: ... # undocumented
341+ def retry_http_basic_auth (
342+ self , url : str , realm : str , data : Optional [bytes ] = ...
343+ ) -> Optional [_UrlopenRet ]: ... # undocumented
344+ def retry_https_basic_auth (
345+ self , url : str , realm : str , data : Optional [bytes ] = ...
346+ ) -> Optional [_UrlopenRet ]: ... # undocumented
347+ def retry_proxy_http_basic_auth (
348+ self , url : str , realm : str , data : Optional [bytes ] = ...
349+ ) -> Optional [_UrlopenRet ]: ... # undocumented
350+ def retry_proxy_https_basic_auth (
351+ self , url : str , realm : str , data : Optional [bytes ] = ...
352+ ) -> Optional [_UrlopenRet ]: ... # undocumented
0 commit comments