@@ -7,7 +7,7 @@ from http.client import HTTPConnection, HTTPMessage, HTTPResponse
77from http .cookiejar import CookieJar
88from re import Pattern
99from typing import IO , Any , ClassVar , NoReturn , Protocol , TypeVar , overload
10- from typing_extensions import TypeAlias
10+ from typing_extensions import TypeAlias , deprecated
1111from urllib .error import HTTPError as HTTPError
1212from urllib .response import addclosehook , addinfourl
1313
@@ -43,10 +43,10 @@ __all__ = [
4343 "getproxies" ,
4444 "urlretrieve" ,
4545 "urlcleanup" ,
46- "URLopener" ,
47- "FancyURLopener" ,
4846 "HTTPSHandler" ,
4947]
48+ if sys .version_info < (3 , 14 ):
49+ __all__ += ["URLopener" , "FancyURLopener" ]
5050
5151_T = TypeVar ("_T" )
5252_UrlopenRet : TypeAlias = Any
@@ -72,11 +72,16 @@ else:
7272def install_opener (opener : OpenerDirector ) -> None : ...
7373def build_opener (* handlers : BaseHandler | Callable [[], BaseHandler ]) -> OpenerDirector : ...
7474
75- if sys .platform == "win32" :
76- from nturl2path import pathname2url as pathname2url , url2pathname as url2pathname
75+ if sys .version_info >= (3 , 14 ):
76+ def url2pathname (url : str , * , require_scheme : bool = False , resolve_host : bool = False ) -> str : ...
77+ def pathname2url (pathname : str , * , add_scheme : bool = False ) -> str : ...
78+
7779else :
78- def url2pathname (pathname : str ) -> str : ...
79- def pathname2url (pathname : str ) -> str : ...
80+ if sys .platform == "win32" :
81+ from nturl2path import pathname2url as pathname2url , url2pathname as url2pathname
82+ else :
83+ def url2pathname (pathname : str ) -> str : ...
84+ def pathname2url (pathname : str ) -> str : ...
8085
8186def getproxies () -> dict [str , str ]: ...
8287def getproxies_environment () -> dict [str , str ]: ...
@@ -318,91 +323,94 @@ def urlretrieve(
318323) -> tuple [str , HTTPMessage ]: ...
319324def urlcleanup () -> None : ...
320325
321- class URLopener :
322- version : ClassVar [str ]
323- def __init__ (self , proxies : dict [str , str ] | None = None , ** x509 : str ) -> None : ...
324- def open (self , fullurl : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ...
325- def open_unknown (self , fullurl : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ...
326- def retrieve (
327- self ,
328- url : str ,
329- filename : str | None = None ,
330- reporthook : Callable [[int , int , int ], object ] | None = None ,
331- data : ReadableBuffer | None = None ,
332- ) -> tuple [str , Message | None ]: ...
333- def addheader (self , * args : tuple [str , str ]) -> None : ... # undocumented
334- def cleanup (self ) -> None : ... # undocumented
335- def close (self ) -> None : ... # undocumented
336- def http_error (
337- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : bytes | None = None
338- ) -> _UrlopenRet : ... # undocumented
339- def http_error_default (
340- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage
341- ) -> _UrlopenRet : ... # undocumented
342- def open_data (self , url : str , data : ReadableBuffer | None = None ) -> addinfourl : ... # undocumented
343- def open_file (self , url : str ) -> addinfourl : ... # undocumented
344- def open_ftp (self , url : str ) -> addinfourl : ... # undocumented
345- def open_http (self , url : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ... # undocumented
346- def open_https (self , url : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ... # undocumented
347- def open_local_file (self , url : str ) -> addinfourl : ... # undocumented
348- def open_unknown_proxy (self , proxy : str , fullurl : str , data : ReadableBuffer | None = None ) -> None : ... # undocumented
349- def __del__ (self ) -> None : ...
350-
351- class FancyURLopener (URLopener ):
352- def prompt_user_passwd (self , host : str , realm : str ) -> tuple [str , str ]: ...
353- def get_user_passwd (self , host : str , realm : str , clear_cache : int = 0 ) -> tuple [str , str ]: ... # undocumented
354- def http_error_301 (
355- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
356- ) -> _UrlopenRet | addinfourl | None : ... # undocumented
357- def http_error_302 (
358- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
359- ) -> _UrlopenRet | addinfourl | None : ... # undocumented
360- def http_error_303 (
361- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
362- ) -> _UrlopenRet | addinfourl | None : ... # undocumented
363- def http_error_307 (
364- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
365- ) -> _UrlopenRet | addinfourl | None : ... # undocumented
366- if sys .version_info >= (3 , 11 ):
367- def http_error_308 (
326+ if sys .version_info < (3 , 14 ):
327+ @deprecated ("Deprecated since Python 3.3; Removed in 3.14; Use newer urlopen functions and methods." )
328+ class URLopener :
329+ version : ClassVar [str ]
330+ def __init__ (self , proxies : dict [str , str ] | None = None , ** x509 : str ) -> None : ...
331+ def open (self , fullurl : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ...
332+ def open_unknown (self , fullurl : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ...
333+ def retrieve (
334+ self ,
335+ url : str ,
336+ filename : str | None = None ,
337+ reporthook : Callable [[int , int , int ], object ] | None = None ,
338+ data : ReadableBuffer | None = None ,
339+ ) -> tuple [str , Message | None ]: ...
340+ def addheader (self , * args : tuple [str , str ]) -> None : ... # undocumented
341+ def cleanup (self ) -> None : ... # undocumented
342+ def close (self ) -> None : ... # undocumented
343+ def http_error (
344+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : bytes | None = None
345+ ) -> _UrlopenRet : ... # undocumented
346+ def http_error_default (
347+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage
348+ ) -> _UrlopenRet : ... # undocumented
349+ def open_data (self , url : str , data : ReadableBuffer | None = None ) -> addinfourl : ... # undocumented
350+ def open_file (self , url : str ) -> addinfourl : ... # undocumented
351+ def open_ftp (self , url : str ) -> addinfourl : ... # undocumented
352+ def open_http (self , url : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ... # undocumented
353+ def open_https (self , url : str , data : ReadableBuffer | None = None ) -> _UrlopenRet : ... # undocumented
354+ def open_local_file (self , url : str ) -> addinfourl : ... # undocumented
355+ def open_unknown_proxy (self , proxy : str , fullurl : str , data : ReadableBuffer | None = None ) -> None : ... # undocumented
356+ def __del__ (self ) -> None : ...
357+
358+ @deprecated ("Deprecated since Python 3.3; Removed in 3.14; Use newer urlopen functions and methods." )
359+ class FancyURLopener (URLopener ):
360+ def prompt_user_passwd (self , host : str , realm : str ) -> tuple [str , str ]: ...
361+ def get_user_passwd (self , host : str , realm : str , clear_cache : int = 0 ) -> tuple [str , str ]: ... # undocumented
362+ def http_error_301 (
368363 self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
369364 ) -> _UrlopenRet | addinfourl | None : ... # undocumented
370-
371- def http_error_401 (
372- self ,
373- url : str ,
374- fp : IO [bytes ],
375- errcode : int ,
376- errmsg : str ,
377- headers : HTTPMessage ,
378- data : ReadableBuffer | None = None ,
379- retry : bool = False ,
380- ) -> _UrlopenRet | None : ... # undocumented
381- def http_error_407 (
382- self ,
383- url : str ,
384- fp : IO [bytes ],
385- errcode : int ,
386- errmsg : str ,
387- headers : HTTPMessage ,
388- data : ReadableBuffer | None = None ,
389- retry : bool = False ,
390- ) -> _UrlopenRet | None : ... # undocumented
391- def http_error_default (
392- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage
393- ) -> addinfourl : ... # undocumented
394- def redirect_internal (
395- self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None
396- ) -> _UrlopenRet | None : ... # undocumented
397- def retry_http_basic_auth (
398- self , url : str , realm : str , data : ReadableBuffer | None = None
399- ) -> _UrlopenRet | None : ... # undocumented
400- def retry_https_basic_auth (
401- self , url : str , realm : str , data : ReadableBuffer | None = None
402- ) -> _UrlopenRet | None : ... # undocumented
403- def retry_proxy_http_basic_auth (
404- self , url : str , realm : str , data : ReadableBuffer | None = None
405- ) -> _UrlopenRet | None : ... # undocumented
406- def retry_proxy_https_basic_auth (
407- self , url : str , realm : str , data : ReadableBuffer | None = None
408- ) -> _UrlopenRet | None : ... # undocumented
365+ def http_error_302 (
366+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
367+ ) -> _UrlopenRet | addinfourl | None : ... # undocumented
368+ def http_error_303 (
369+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
370+ ) -> _UrlopenRet | addinfourl | None : ... # undocumented
371+ def http_error_307 (
372+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
373+ ) -> _UrlopenRet | addinfourl | None : ... # undocumented
374+ if sys .version_info >= (3 , 11 ):
375+ def http_error_308 (
376+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None = None
377+ ) -> _UrlopenRet | addinfourl | None : ... # undocumented
378+
379+ def http_error_401 (
380+ self ,
381+ url : str ,
382+ fp : IO [bytes ],
383+ errcode : int ,
384+ errmsg : str ,
385+ headers : HTTPMessage ,
386+ data : ReadableBuffer | None = None ,
387+ retry : bool = False ,
388+ ) -> _UrlopenRet | None : ... # undocumented
389+ def http_error_407 (
390+ self ,
391+ url : str ,
392+ fp : IO [bytes ],
393+ errcode : int ,
394+ errmsg : str ,
395+ headers : HTTPMessage ,
396+ data : ReadableBuffer | None = None ,
397+ retry : bool = False ,
398+ ) -> _UrlopenRet | None : ... # undocumented
399+ def http_error_default (
400+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage
401+ ) -> addinfourl : ... # undocumented
402+ def redirect_internal (
403+ self , url : str , fp : IO [bytes ], errcode : int , errmsg : str , headers : HTTPMessage , data : ReadableBuffer | None
404+ ) -> _UrlopenRet | None : ... # undocumented
405+ def retry_http_basic_auth (
406+ self , url : str , realm : str , data : ReadableBuffer | None = None
407+ ) -> _UrlopenRet | None : ... # undocumented
408+ def retry_https_basic_auth (
409+ self , url : str , realm : str , data : ReadableBuffer | None = None
410+ ) -> _UrlopenRet | None : ... # undocumented
411+ def retry_proxy_http_basic_auth (
412+ self , url : str , realm : str , data : ReadableBuffer | None = None
413+ ) -> _UrlopenRet | None : ... # undocumented
414+ def retry_proxy_https_basic_auth (
415+ self , url : str , realm : str , data : ReadableBuffer | None = None
416+ ) -> _UrlopenRet | None : ... # undocumented
0 commit comments