# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/urllib.request.rst:2 msgid ":mod:`urllib.request` --- Extensible library for opening URLs" msgstr "" #: library/urllib.request.rst:11 #, fuzzy msgid "**Source code:** :source:`Lib/urllib/request.py`" msgstr "**Code source :** :source:`Lib/urllib/parse.py`" #: library/urllib.request.rst:15 msgid "" "The :mod:`urllib.request` module defines functions and classes which help in " "opening URLs (mostly HTTP) in a complex world --- basic and digest " "authentication, redirections, cookies and more." msgstr "" #: library/urllib.request.rst:21 msgid "" "The `Requests package `_ is " "recommended for a higher-level HTTP client interface." msgstr "" #: includes/wasm-notavail.rst:None msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr "" #: includes/wasm-notavail.rst:5 msgid "" "This module does not work or is not available on WebAssembly platforms " "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " "more information." msgstr "" #: library/urllib.request.rst:26 msgid "The :mod:`urllib.request` module defines the following functions:" msgstr "" #: library/urllib.request.rst:31 msgid "" "Open the URL *url*, which can be either a string or a :class:`Request` " "object." msgstr "" #: library/urllib.request.rst:34 msgid "" "*data* must be an object specifying additional data to be sent to the " "server, or ``None`` if no such data is needed. See :class:`Request` for " "details." msgstr "" #: library/urllib.request.rst:38 msgid "" "urllib.request module uses HTTP/1.1 and includes ``Connection:close`` header " "in its HTTP requests." msgstr "" #: library/urllib.request.rst:41 msgid "" "The optional *timeout* parameter specifies a timeout in seconds for blocking " "operations like the connection attempt (if not specified, the global default " "timeout setting will be used). This actually only works for HTTP, HTTPS and " "FTP connections." msgstr "" #: library/urllib.request.rst:46 msgid "" "If *context* is specified, it must be a :class:`ssl.SSLContext` instance " "describing the various SSL options. See :class:`~http.client." "HTTPSConnection` for more details." msgstr "" #: library/urllib.request.rst:50 msgid "" "The optional *cafile* and *capath* parameters specify a set of trusted CA " "certificates for HTTPS requests. *cafile* should point to a single file " "containing a bundle of CA certificates, whereas *capath* should point to a " "directory of hashed certificate files. More information can be found in :" "meth:`ssl.SSLContext.load_verify_locations`." msgstr "" #: library/urllib.request.rst:56 msgid "The *cadefault* parameter is ignored." msgstr "" #: library/urllib.request.rst:58 msgid "" "This function always returns an object which can work as a :term:`context " "manager` and has the properties *url*, *headers*, and *status*. See :class:" "`urllib.response.addinfourl` for more detail on these properties." msgstr "" #: library/urllib.request.rst:62 msgid "" "For HTTP and HTTPS URLs, this function returns a :class:`http.client." "HTTPResponse` object slightly modified. In addition to the three new methods " "above, the msg attribute contains the same information as the :attr:`~http." "client.HTTPResponse.reason` attribute --- the reason phrase returned by " "server --- instead of the response headers as it is specified in the " "documentation for :class:`~http.client.HTTPResponse`." msgstr "" #: library/urllib.request.rst:70 msgid "" "For FTP, file, and data URLs and requests explicitly handled by legacy :" "class:`URLopener` and :class:`FancyURLopener` classes, this function returns " "a :class:`urllib.response.addinfourl` object." msgstr "" #: library/urllib.request.rst:74 msgid "Raises :exc:`~urllib.error.URLError` on protocol errors." msgstr "" #: library/urllib.request.rst:76 msgid "" "Note that ``None`` may be returned if no handler handles the request (though " "the default installed global :class:`OpenerDirector` uses :class:" "`UnknownHandler` to ensure this never happens)." msgstr "" #: library/urllib.request.rst:80 msgid "" "In addition, if proxy settings are detected (for example, when a ``*_proxy`` " "environment variable like :envvar:`http_proxy` is set), :class:" "`ProxyHandler` is default installed and makes sure the requests are handled " "through the proxy." msgstr "" #: library/urllib.request.rst:85 msgid "" "The legacy ``urllib.urlopen`` function from Python 2.6 and earlier has been " "discontinued; :func:`urllib.request.urlopen` corresponds to the old " "``urllib2.urlopen``. Proxy handling, which was done by passing a dictionary " "parameter to ``urllib.urlopen``, can be obtained by using :class:" "`ProxyHandler` objects." msgstr "" #: library/urllib.request.rst:100 msgid "" "Raises an :ref:`auditing event ` ``urllib.Request`` with arguments " "``fullurl``, ``data``, ``headers``, ``method``." msgstr "" #: library/urllib.request.rst:93 msgid "" "The default opener raises an :ref:`auditing event ` ``urllib." "Request`` with arguments ``fullurl``, ``data``, ``headers``, ``method`` " "taken from the request object." msgstr "" #: library/urllib.request.rst:97 msgid "*cafile* and *capath* were added." msgstr "" #: library/urllib.request.rst:100 msgid "" "HTTPS virtual hosts are now supported if possible (that is, if :data:`ssl." "HAS_SNI` is true)." msgstr "" #: library/urllib.request.rst:104 msgid "*data* can be an iterable object." msgstr "" #: library/urllib.request.rst:107 msgid "*cadefault* was added." msgstr "" #: library/urllib.request.rst:110 msgid "*context* was added." msgstr "" #: library/urllib.request.rst:113 msgid "" "HTTPS connection now send an ALPN extension with protocol indicator " "``http/1.1`` when no *context* is given. Custom *context* should set ALPN " "protocols with :meth:`~ssl.SSLContext.set_alpn_protocol`." msgstr "" #: library/urllib.request.rst:120 msgid "" "*cafile*, *capath* and *cadefault* are deprecated in favor of *context*. " "Please use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." "create_default_context` select the system's trusted CA certificates for you." msgstr "" #: library/urllib.request.rst:128 msgid "" "Install an :class:`OpenerDirector` instance as the default global opener. " "Installing an opener is only necessary if you want urlopen to use that " "opener; otherwise, simply call :meth:`OpenerDirector.open` instead of :func:" "`~urllib.request.urlopen`. The code does not check for a real :class:" "`OpenerDirector`, and any class with the appropriate interface will work." msgstr "" #: library/urllib.request.rst:138 msgid "" "Return an :class:`OpenerDirector` instance, which chains the handlers in the " "order given. *handler*\\s can be either instances of :class:`BaseHandler`, " "or subclasses of :class:`BaseHandler` (in which case it must be possible to " "call the constructor without any parameters). Instances of the following " "classes will be in front of the *handler*\\s, unless the *handler*\\s " "contain them, instances of them or subclasses of them: :class:`ProxyHandler` " "(if proxy settings are detected), :class:`UnknownHandler`, :class:" "`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, :class:" "`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" "`HTTPErrorProcessor`." msgstr "" #: library/urllib.request.rst:148 msgid "" "If the Python installation has SSL support (i.e., if the :mod:`ssl` module " "can be imported), :class:`HTTPSHandler` will also be added." msgstr "" #: library/urllib.request.rst:151 msgid "" "A :class:`BaseHandler` subclass may also change its :attr:`handler_order` " "attribute to modify its position in the handlers list." msgstr "" #: library/urllib.request.rst:157 msgid "" "Convert the pathname *path* from the local syntax for a path to the form " "used in the path component of a URL. This does not produce a complete URL. " "The return value will already be quoted using the :func:`~urllib.parse." "quote` function." msgstr "" #: library/urllib.request.rst:164 msgid "" "Convert the path component *path* from a percent-encoded URL to the local " "syntax for a path. This does not accept a complete URL. This function " "uses :func:`~urllib.parse.unquote` to decode *path*." msgstr "" #: library/urllib.request.rst:170 msgid "" "This helper function returns a dictionary of scheme to proxy server URL " "mappings. It scans the environment for variables named ``_proxy``, " "in a case insensitive approach, for all operating systems first, and when it " "cannot find it, looks for proxy information from System Configuration for " "macOS and Windows Systems Registry for Windows. If both lowercase and " "uppercase environment variables exist (and disagree), lowercase is preferred." msgstr "" #: library/urllib.request.rst:180 msgid "" "If the environment variable ``REQUEST_METHOD`` is set, which usually " "indicates your script is running in a CGI environment, the environment " "variable ``HTTP_PROXY`` (uppercase ``_PROXY``) will be ignored. This is " "because that variable can be injected by a client using the \"Proxy:\" HTTP " "header. If you need to use an HTTP proxy in a CGI environment, either use " "``ProxyHandler`` explicitly, or make sure the variable name is in lowercase " "(or at least the ``_proxy`` suffix)." msgstr "" #: library/urllib.request.rst:189 msgid "The following classes are provided:" msgstr "" #: library/urllib.request.rst:193 msgid "This class is an abstraction of a URL request." msgstr "" #: library/urllib.request.rst:195 msgid "*url* should be a string containing a valid URL." msgstr "" #: library/urllib.request.rst:197 msgid "" "*data* must be an object specifying additional data to send to the server, " "or ``None`` if no such data is needed. Currently HTTP requests are the only " "ones that use *data*. The supported object types include bytes, file-like " "objects, and iterables of bytes-like objects. If no ``Content-Length`` nor " "``Transfer-Encoding`` header field has been provided, :class:`HTTPHandler` " "will set these headers according to the type of *data*. ``Content-Length`` " "will be used to send bytes objects, while ``Transfer-Encoding: chunked`` as " "specified in :rfc:`7230`, Section 3.3.1 will be used to send files and other " "iterables." msgstr "" #: library/urllib.request.rst:207 msgid "" "For an HTTP POST request method, *data* should be a buffer in the standard :" "mimetype:`application/x-www-form-urlencoded` format. The :func:`urllib." "parse.urlencode` function takes a mapping or sequence of 2-tuples and " "returns an ASCII string in this format. It should be encoded to bytes before " "being used as the *data* parameter." msgstr "" #: library/urllib.request.rst:213 msgid "" "*headers* should be a dictionary, and will be treated as if :meth:" "`add_header` was called with each key and value as arguments. This is often " "used to \"spoof\" the ``User-Agent`` header value, which is used by a " "browser to identify itself -- some HTTP servers only allow requests coming " "from common browsers as opposed to scripts. For example, Mozilla Firefox may " "identify itself as ``\"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 " "Firefox/2.0.0.11\"``, while :mod:`urllib`'s default user agent string is " "``\"Python-urllib/2.6\"`` (on Python 2.6). All header keys are sent in camel " "case." msgstr "" #: library/urllib.request.rst:224 msgid "" "An appropriate ``Content-Type`` header should be included if the *data* " "argument is present. If this header has not been provided and *data* is not " "None, ``Content-Type: application/x-www-form-urlencoded`` will be added as a " "default." msgstr "" #: library/urllib.request.rst:229 msgid "" "The next two arguments are only of interest for correct handling of third-" "party HTTP cookies:" msgstr "" #: library/urllib.request.rst:232 msgid "" "*origin_req_host* should be the request-host of the origin transaction, as " "defined by :rfc:`2965`. It defaults to ``http.cookiejar." "request_host(self)``. This is the host name or IP address of the original " "request that was initiated by the user. For example, if the request is for " "an image in an HTML document, this should be the request-host of the request " "for the page containing the image." msgstr "" #: library/urllib.request.rst:240 msgid "" "*unverifiable* should indicate whether the request is unverifiable, as " "defined by :rfc:`2965`. It defaults to ``False``. An unverifiable request " "is one whose URL the user did not have the option to approve. For example, " "if the request is for an image in an HTML document, and the user had no " "option to approve the automatic fetching of the image, this should be true." msgstr "" #: library/urllib.request.rst:247 msgid "" "*method* should be a string that indicates the HTTP request method that will " "be used (e.g. ``'HEAD'``). If provided, its value is stored in the :attr:" "`~Request.method` attribute and is used by :meth:`get_method()`. The default " "is ``'GET'`` if *data* is ``None`` or ``'POST'`` otherwise. Subclasses may " "indicate a different default method by setting the :attr:`~Request.method` " "attribute in the class itself." msgstr "" #: library/urllib.request.rst:255 msgid "" "The request will not work as expected if the data object is unable to " "deliver its content more than once (e.g. a file or an iterable that can " "produce the content only once) and the request is retried for HTTP redirects " "or authentication. The *data* is sent to the HTTP server right away after " "the headers. There is no support for a 100-continue expectation in the " "library." msgstr "" #: library/urllib.request.rst:262 msgid ":attr:`Request.method` argument is added to the Request class." msgstr "" #: library/urllib.request.rst:265 msgid "Default :attr:`Request.method` may be indicated at the class level." msgstr "" #: library/urllib.request.rst:268 msgid "" "Do not raise an error if the ``Content-Length`` has not been provided and " "*data* is neither ``None`` nor a bytes object. Fall back to use chunked " "transfer encoding instead." msgstr "" #: library/urllib.request.rst:275 msgid "" "The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\\ s " "chained together. It manages the chaining of handlers, and recovery from " "errors." msgstr "" #: library/urllib.request.rst:281 msgid "" "This is the base class for all registered handlers --- and handles only the " "simple mechanics of registration." msgstr "" #: library/urllib.request.rst:287 msgid "" "A class which defines a default handler for HTTP error responses; all " "responses are turned into :exc:`~urllib.error.HTTPError` exceptions." msgstr "" #: library/urllib.request.rst:293 msgid "A class to handle redirections." msgstr "" #: library/urllib.request.rst:298 msgid "A class to handle HTTP Cookies." msgstr "" #: library/urllib.request.rst:303 msgid "" "Cause requests to go through a proxy. If *proxies* is given, it must be a " "dictionary mapping protocol names to URLs of proxies. The default is to read " "the list of proxies from the environment variables ``_proxy``. If " "no proxy environment variables are set, then in a Windows environment proxy " "settings are obtained from the registry's Internet Settings section, and in " "a macOS environment proxy information is retrieved from the System " "Configuration Framework." msgstr "" #: library/urllib.request.rst:311 msgid "To disable autodetected proxy pass an empty dictionary." msgstr "" #: library/urllib.request.rst:313 msgid "" "The :envvar:`no_proxy` environment variable can be used to specify hosts " "which shouldn't be reached via proxy; if set, it should be a comma-separated " "list of hostname suffixes, optionally with ``:port`` appended, for example " "``cern.ch,ncsa.uiuc.edu,some.host:8080``." msgstr "" #: library/urllib.request.rst:320 msgid "" "``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " "the documentation on :func:`~urllib.request.getproxies`." msgstr "" #: library/urllib.request.rst:326 msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." msgstr "" #: library/urllib.request.rst:331 msgid "" "Keep a database of ``(realm, uri) -> (user, password)`` mappings. A realm " "of ``None`` is considered a catch-all realm, which is searched if no other " "realm fits." msgstr "" #: library/urllib.request.rst:338 msgid "" "A variant of :class:`HTTPPasswordMgrWithDefaultRealm` that also has a " "database of ``uri -> is_authenticated`` mappings. Can be used by a " "BasicAuth handler to determine when to send authentication credentials " "immediately instead of waiting for a ``401`` response first." msgstr "" #: library/urllib.request.rst:348 msgid "" "This is a mixin class that helps with HTTP authentication, both to the " "remote host and to a proxy. *password_mgr*, if given, should be something " "that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" "`http-password-mgr` for information on the interface that must be " "supported. If *passwd_mgr* also provides ``is_authenticated`` and " "``update_authenticated`` methods (see :ref:`http-password-mgr-with-prior-" "auth`), then the handler will use the ``is_authenticated`` result for a " "given URI to determine whether or not to send authentication credentials " "with the request. If ``is_authenticated`` returns ``True`` for the URI, " "credentials are sent. If ``is_authenticated`` is ``False``, credentials are " "not sent, and then if a ``401`` response is received the request is re-sent " "with the authentication credentials. If authentication succeeds, " "``update_authenticated`` is called to set ``is_authenticated`` ``True`` for " "the URI, so that subsequent requests to the URI or any of its super-URIs " "will automatically include the authentication credentials." msgstr "" #: library/urllib.request.rst:365 msgid "Added ``is_authenticated`` support." msgstr "" #: library/urllib.request.rst:371 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " "section :ref:`http-password-mgr` for information on the interface that must " "be supported. HTTPBasicAuthHandler will raise a :exc:`ValueError` when " "presented with a wrong Authentication scheme." msgstr "" #: library/urllib.request.rst:414 msgid "" "Handle authentication with the proxy. *password_mgr*, if given, should be " "something that is compatible with :class:`HTTPPasswordMgr`; refer to " "section :ref:`http-password-mgr` for information on the interface that must " "be supported." msgstr "" #: library/urllib.request.rst:388 msgid "" "This is a mixin class that helps with HTTP authentication, both to the " "remote host and to a proxy. *password_mgr*, if given, should be something " "that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" "`http-password-mgr` for information on the interface that must be supported." msgstr "" #: library/urllib.request.rst:397 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " "section :ref:`http-password-mgr` for information on the interface that must " "be supported. When both Digest Authentication Handler and Basic " "Authentication Handler are both added, Digest Authentication is always tried " "first. If the Digest Authentication returns a 40x response again, it is sent " "to Basic Authentication handler to Handle. This Handler method will raise " "a :exc:`ValueError` when presented with an authentication scheme other than " "Digest or Basic." msgstr "" #: library/urllib.request.rst:407 msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." msgstr "" #: library/urllib.request.rst:422 msgid "A class to handle opening of HTTP URLs." msgstr "" #: library/urllib.request.rst:427 msgid "" "A class to handle opening of HTTPS URLs. *context* and *check_hostname* " "have the same meaning as in :class:`http.client.HTTPSConnection`." msgstr "" #: library/urllib.request.rst:430 msgid "*context* and *check_hostname* were added." msgstr "" #: library/urllib.request.rst:436 msgid "Open local files." msgstr "" #: library/urllib.request.rst:440 msgid "Open data URLs." msgstr "" #: library/urllib.request.rst:446 msgid "Open FTP URLs." msgstr "" #: library/urllib.request.rst:451 msgid "" "Open FTP URLs, keeping a cache of open FTP connections to minimize delays." msgstr "" #: library/urllib.request.rst:456 msgid "A catch-all class to handle unknown URLs." msgstr "" #: library/urllib.request.rst:1167 msgid "Process HTTP error responses." msgstr "" #: library/urllib.request.rst:467 msgid "Request Objects" msgstr "" #: library/urllib.request.rst:469 msgid "" "The following methods describe :class:`Request`'s public interface, and so " "all may be overridden in subclasses. It also defines several public " "attributes that can be used by clients to inspect the parsed request." msgstr "" #: library/urllib.request.rst:476 msgid "The original URL passed to the constructor." msgstr "" #: library/urllib.request.rst:480 msgid "" "Request.full_url is a property with setter, getter and a deleter. Getting :" "attr:`~Request.full_url` returns the original request URL with the fragment, " "if it was present." msgstr "" #: library/urllib.request.rst:486 msgid "The URI scheme." msgstr "" #: library/urllib.request.rst:490 msgid "" "The URI authority, typically a host, but may also contain a port separated " "by a colon." msgstr "" #: library/urllib.request.rst:495 msgid "The original host for the request, without port." msgstr "" #: library/urllib.request.rst:499 msgid "" "The URI path. If the :class:`Request` uses a proxy, then selector will be " "the full URL that is passed to the proxy." msgstr "" #: library/urllib.request.rst:504 msgid "The entity body for the request, or ``None`` if not specified." msgstr "" #: library/urllib.request.rst:506 msgid "" "Changing value of :attr:`Request.data` now deletes \"Content-Length\" header " "if it was previously set or calculated." msgstr "" #: library/urllib.request.rst:512 msgid "" "boolean, indicates whether the request is unverifiable as defined by :rfc:" "`2965`." msgstr "" #: library/urllib.request.rst:517 msgid "" "The HTTP request method to use. By default its value is :const:`None`, " "which means that :meth:`~Request.get_method` will do its normal computation " "of the method to be used. Its value can be set (thus overriding the default " "computation in :meth:`~Request.get_method`) either by providing a default " "value by setting it at the class level in a :class:`Request` subclass, or by " "passing a value in to the :class:`Request` constructor via the *method* " "argument." msgstr "" #: library/urllib.request.rst:527 msgid "" "A default value can now be set in subclasses; previously it could only be " "set via the constructor argument." msgstr "" #: library/urllib.request.rst:534 msgid "" "Return a string indicating the HTTP request method. If :attr:`Request." "method` is not ``None``, return its value, otherwise return ``'GET'`` if :" "attr:`Request.data` is ``None``, or ``'POST'`` if it's not. This is only " "meaningful for HTTP requests." msgstr "" #: library/urllib.request.rst:539 msgid "get_method now looks at the value of :attr:`Request.method`." msgstr "" #: library/urllib.request.rst:545 msgid "" "Add another header to the request. Headers are currently ignored by all " "handlers except HTTP handlers, where they are added to the list of headers " "sent to the server. Note that there cannot be more than one header with the " "same name, and later calls will overwrite previous calls in case the *key* " "collides. Currently, this is no loss of HTTP functionality, since all " "headers which have meaning when used more than once have a (header-specific) " "way of gaining the same functionality using only one header. Note that " "headers added using this method are also added to redirected requests." msgstr "" #: library/urllib.request.rst:557 msgid "Add a header that will not be added to a redirected request." msgstr "" #: library/urllib.request.rst:562 msgid "" "Return whether the instance has the named header (checks both regular and " "unredirected)." msgstr "" #: library/urllib.request.rst:568 msgid "" "Remove named header from the request instance (both from regular and " "unredirected headers)." msgstr "" #: library/urllib.request.rst:576 msgid "Return the URL given in the constructor." msgstr "" #: library/urllib.request.rst:580 msgid "Returns :attr:`Request.full_url`" msgstr "" #: library/urllib.request.rst:585 msgid "" "Prepare the request by connecting to a proxy server. The *host* and *type* " "will replace those of the instance, and the instance's selector will be the " "original URL given in the constructor." msgstr "" #: library/urllib.request.rst:592 msgid "" "Return the value of the given header. If the header is not present, return " "the default value." msgstr "" #: library/urllib.request.rst:598 msgid "" "Return a list of tuples (header_name, header_value) of the Request headers." msgstr "" #: library/urllib.request.rst:600 msgid "" "The request methods add_data, has_data, get_data, get_type, get_host, " "get_selector, get_origin_req_host and is_unverifiable that were deprecated " "since 3.3 have been removed." msgstr "" #: library/urllib.request.rst:609 msgid "OpenerDirector Objects" msgstr "" #: library/urllib.request.rst:611 msgid ":class:`OpenerDirector` instances have the following methods:" msgstr "" #: library/urllib.request.rst:616 msgid "" "*handler* should be an instance of :class:`BaseHandler`. The following " "methods are searched, and added to the possible chains (note that HTTP " "errors are a special case). Note that, in the following, *protocol* should " "be replaced with the actual protocol to handle, for example :meth:" "`http_response` would be the HTTP protocol response handler. Also *type* " "should be replaced with the actual HTTP code, for example :meth:" "`http_error_404` would handle HTTP 404 errors." msgstr "" #: library/urllib.request.rst:624 msgid "" ":meth:`_open` --- signal that the handler knows how to open " "*protocol* URLs." msgstr "" #: library/urllib.request.rst:627 msgid "See |protocol_open|_ for more information." msgstr "" #: library/urllib.request.rst:629 msgid "" ":meth:`http_error_\\` --- signal that the handler knows how to " "handle HTTP errors with HTTP error code *type*." msgstr "" #: library/urllib.request.rst:632 msgid "See |http_error_nnn|_ for more information." msgstr "" #: library/urllib.request.rst:634 msgid "" ":meth:`_error` --- signal that the handler knows how to handle " "errors from (non-\\ ``http``) *protocol*." msgstr "" #: library/urllib.request.rst:637 msgid "" ":meth:`_request` --- signal that the handler knows how to pre-" "process *protocol* requests." msgstr "" #: library/urllib.request.rst:640 msgid "See |protocol_request|_ for more information." msgstr "" #: library/urllib.request.rst:642 msgid "" ":meth:`_response` --- signal that the handler knows how to post-" "process *protocol* responses." msgstr "" #: library/urllib.request.rst:645 msgid "See |protocol_response|_ for more information." msgstr "" #: library/urllib.request.rst:654 msgid "" "Open the given *url* (which can be a request object or a string), optionally " "passing the given *data*. Arguments, return values and exceptions raised are " "the same as those of :func:`urlopen` (which simply calls the :meth:`open` " "method on the currently installed global :class:`OpenerDirector`). The " "optional *timeout* parameter specifies a timeout in seconds for blocking " "operations like the connection attempt (if not specified, the global default " "timeout setting will be used). The timeout feature actually works only for " "HTTP, HTTPS and FTP connections." msgstr "" #: library/urllib.request.rst:666 msgid "" "Handle an error of the given protocol. This will call the registered error " "handlers for the given protocol with the given arguments (which are protocol " "specific). The HTTP protocol is a special case which uses the HTTP response " "code to determine the specific error handler; refer to the :meth:" "`http_error_\\` methods of the handler classes." msgstr "" #: library/urllib.request.rst:672 msgid "" "Return values and exceptions raised are the same as those of :func:`urlopen`." msgstr "" #: library/urllib.request.rst:674 msgid "OpenerDirector objects open URLs in three stages:" msgstr "" #: library/urllib.request.rst:676 msgid "" "The order in which these methods are called within each stage is determined " "by sorting the handler instances." msgstr "" #: library/urllib.request.rst:679 msgid "" "Every handler with a method named like :meth:`_request` has that " "method called to pre-process the request." msgstr "" #: library/urllib.request.rst:682 msgid "" "Handlers with a method named like :meth:`_open` are called to " "handle the request. This stage ends when a handler either returns a non-\\ :" "const:`None` value (ie. a response), or raises an exception (usually :exc:" "`~urllib.error.URLError`). Exceptions are allowed to propagate." msgstr "" #: library/urllib.request.rst:687 msgid "" "In fact, the above algorithm is first tried for methods named :meth:" "`default_open`. If all such methods return :const:`None`, the algorithm is " "repeated for methods named like :meth:`_open`. If all such " "methods return :const:`None`, the algorithm is repeated for methods named :" "meth:`unknown_open`." msgstr "" #: library/urllib.request.rst:693 msgid "" "Note that the implementation of these methods may involve calls of the " "parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` and :" "meth:`~OpenerDirector.error` methods." msgstr "" #: library/urllib.request.rst:697 msgid "" "Every handler with a method named like :meth:`_response` has that " "method called to post-process the response." msgstr "" #: library/urllib.request.rst:704 msgid "BaseHandler Objects" msgstr "" #: library/urllib.request.rst:706 msgid "" ":class:`BaseHandler` objects provide a couple of methods that are directly " "useful, and others that are meant to be used by derived classes. These are " "intended for direct use:" msgstr "" #: library/urllib.request.rst:713 msgid "Add a director as parent." msgstr "" #: library/urllib.request.rst:718 msgid "Remove any parents." msgstr "" #: library/urllib.request.rst:720 msgid "" "The following attribute and methods should only be used by classes derived " "from :class:`BaseHandler`." msgstr "" #: library/urllib.request.rst:725 msgid "" "The convention has been adopted that subclasses defining :meth:" "`_request` or :meth:`_response` methods are named :class:" "`\\*Processor`; all others are named :class:`\\*Handler`." msgstr "" #: library/urllib.request.rst:732 msgid "" "A valid :class:`OpenerDirector`, which can be used to open using a different " "protocol, or handle errors." msgstr "" #: library/urllib.request.rst:738 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs." msgstr "" #: library/urllib.request.rst:741 msgid "" "This method, if implemented, will be called by the parent :class:" "`OpenerDirector`. It should return a file-like object as described in the " "return value of the :meth:`~OpenerDirector.open` method of :class:" "`OpenerDirector`, or ``None``. It should raise :exc:`~urllib.error." "URLError`, unless a truly exceptional thing happens (for example, :exc:" "`MemoryError` should not be mapped to :exc:`URLError`)." msgstr "" #: library/urllib.request.rst:748 msgid "This method will be called before any protocol-specific open method." msgstr "" #: library/urllib.request.rst:755 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to handle URLs with the given protocol." msgstr "" #: library/urllib.request.rst:758 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. Return values should be the same as for :meth:" "`default_open`." msgstr "" #: library/urllib.request.rst:764 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs with no specific registered handler " "to open it." msgstr "" #: library/urllib.request.rst:768 msgid "" "This method, if implemented, will be called by the :attr:`parent` :class:" "`OpenerDirector`. Return values should be the same as for :meth:" "`default_open`." msgstr "" #: library/urllib.request.rst:775 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "override it if they intend to provide a catch-all for otherwise unhandled " "HTTP errors. It will be called automatically by the :class:" "`OpenerDirector` getting the error, and should not normally be called in " "other circumstances." msgstr "" #: library/urllib.request.rst:780 msgid "" "*req* will be a :class:`Request` object, *fp* will be a file-like object " "with the HTTP error body, *code* will be the three-digit code of the error, " "*msg* will be the user-visible explanation of the code and *hdrs* will be a " "mapping object with the headers of the error." msgstr "" #: library/urllib.request.rst:785 msgid "" "Return values and exceptions raised should be the same as those of :func:" "`urlopen`." msgstr "" #: library/urllib.request.rst:792 msgid "" "*nnn* should be a three-digit HTTP error code. This method is also not " "defined in :class:`BaseHandler`, but will be called, if it exists, on an " "instance of a subclass, when an HTTP error with code *nnn* occurs." msgstr "" #: library/urllib.request.rst:796 msgid "Subclasses should override this method to handle specific HTTP errors." msgstr "" #: library/urllib.request.rst:798 msgid "" "Arguments, return values and exceptions raised should be the same as for :" "meth:`http_error_default`." msgstr "" #: library/urllib.request.rst:806 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to pre-process requests of the given protocol." msgstr "" #: library/urllib.request.rst:809 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. *req* will be a :class:`Request` object. The return value " "should be a :class:`Request` object." msgstr "" #: library/urllib.request.rst:818 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to post-process responses of the given protocol." msgstr "" #: library/urllib.request.rst:821 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. *req* will be a :class:`Request` object. *response* will " "be an object implementing the same interface as the return value of :func:" "`urlopen`. The return value should implement the same interface as the " "return value of :func:`urlopen`." msgstr "" #: library/urllib.request.rst:831 msgid "HTTPRedirectHandler Objects" msgstr "" #: library/urllib.request.rst:835 msgid "" "Some HTTP redirections require action from this module's client code. If " "this is the case, :exc:`~urllib.error.HTTPError` is raised. See :rfc:`2616` " "for details of the precise meanings of the various redirection codes." msgstr "" #: library/urllib.request.rst:839 msgid "" "An :class:`HTTPError` exception raised as a security consideration if the " "HTTPRedirectHandler is presented with a redirected URL which is not an HTTP, " "HTTPS or FTP URL." msgstr "" #: library/urllib.request.rst:846 msgid "" "Return a :class:`Request` or ``None`` in response to a redirect. This is " "called by the default implementations of the :meth:`http_error_30\\*` " "methods when a redirection is received from the server. If a redirection " "should take place, return a new :class:`Request` to allow :meth:" "`http_error_30\\*` to perform the redirect to *newurl*. Otherwise, raise :" "exc:`~urllib.error.HTTPError` if no other handler should try to handle this " "URL, or return ``None`` if you can't but another handler might." msgstr "" #: library/urllib.request.rst:856 msgid "" "The default implementation of this method does not strictly follow :rfc:" "`2616`, which says that 301 and 302 responses to ``POST`` requests must not " "be automatically redirected without confirmation by the user. In reality, " "browsers do allow automatic redirection of these responses, changing the " "POST to a ``GET``, and the default implementation reproduces this behavior." msgstr "" #: library/urllib.request.rst:865 msgid "" "Redirect to the ``Location:`` or ``URI:`` URL. This method is called by the " "parent :class:`OpenerDirector` when getting an HTTP 'moved permanently' " "response." msgstr "" #: library/urllib.request.rst:871 msgid "" "The same as :meth:`http_error_301`, but called for the 'found' response." msgstr "" #: library/urllib.request.rst:876 msgid "" "The same as :meth:`http_error_301`, but called for the 'see other' response." msgstr "" #: library/urllib.request.rst:881 msgid "" "The same as :meth:`http_error_301`, but called for the 'temporary redirect' " "response. It does not allow changing the request method from ``POST`` to " "``GET``." msgstr "" #: library/urllib.request.rst:888 msgid "" "The same as :meth:`http_error_301`, but called for the 'permanent redirect' " "response. It does not allow changing the request method from ``POST`` to " "``GET``." msgstr "" #: library/urllib.request.rst:898 msgid "HTTPCookieProcessor Objects" msgstr "" #: library/urllib.request.rst:900 msgid ":class:`HTTPCookieProcessor` instances have one attribute:" msgstr "" #: library/urllib.request.rst:904 msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." msgstr "" #: library/urllib.request.rst:910 msgid "ProxyHandler Objects" msgstr "" #: library/urllib.request.rst:916 msgid "" "The :class:`ProxyHandler` will have a method :meth:`_open` for " "every *protocol* which has a proxy in the *proxies* dictionary given in the " "constructor. The method will modify requests to go through the proxy, by " "calling ``request.set_proxy()``, and call the next handler in the chain to " "actually execute the protocol." msgstr "" #: library/urllib.request.rst:926 msgid "HTTPPasswordMgr Objects" msgstr "" #: library/urllib.request.rst:928 msgid "" "These methods are available on :class:`HTTPPasswordMgr` and :class:" "`HTTPPasswordMgrWithDefaultRealm` objects." msgstr "" #: library/urllib.request.rst:934 msgid "" "*uri* can be either a single URI, or a sequence of URIs. *realm*, *user* and " "*passwd* must be strings. This causes ``(user, passwd)`` to be used as " "authentication tokens when authentication for *realm* and a super-URI of any " "of the given URIs is given." msgstr "" #: library/urllib.request.rst:942 msgid "" "Get user/password for given realm and URI, if any. This method will return " "``(None, None)`` if there is no matching user/password." msgstr "" #: library/urllib.request.rst:945 msgid "" "For :class:`HTTPPasswordMgrWithDefaultRealm` objects, the realm ``None`` " "will be searched if the given *realm* has no matching user/password." msgstr "" #: library/urllib.request.rst:952 msgid "HTTPPasswordMgrWithPriorAuth Objects" msgstr "" #: library/urllib.request.rst:954 msgid "" "This password manager extends :class:`HTTPPasswordMgrWithDefaultRealm` to " "support tracking URIs for which authentication credentials should always be " "sent." msgstr "" #: library/urllib.request.rst:961 msgid "" "*realm*, *uri*, *user*, *passwd* are as for :meth:`HTTPPasswordMgr." "add_password`. *is_authenticated* sets the initial value of the " "``is_authenticated`` flag for the given URI or list of URIs. If " "*is_authenticated* is specified as ``True``, *realm* is ignored." msgstr "" #: library/urllib.request.rst:969 msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" msgstr "" #: library/urllib.request.rst:975 msgid "" "Update the ``is_authenticated`` flag for the given *uri* or list of URIs." msgstr "" #: library/urllib.request.rst:981 msgid "" "Returns the current state of the ``is_authenticated`` flag for the given URI." msgstr "" #: library/urllib.request.rst:988 msgid "AbstractBasicAuthHandler Objects" msgstr "" #: library/urllib.request.rst:993 msgid "" "Handle an authentication request by getting a user/password pair, and re-" "trying the request. *authreq* should be the name of the header where the " "information about the realm is included in the request, *host* specifies the " "URL and path to authenticate for, *req* should be the (failed) :class:" "`Request` object, and *headers* should be the error headers." msgstr "" #: library/urllib.request.rst:999 msgid "" "*host* is either an authority (e.g. ``\"python.org\"``) or a URL containing " "an authority component (e.g. ``\"http://python.org/\"``). In either case, " "the authority must not contain a userinfo component (so, ``\"python.org\"`` " "and ``\"python.org:80\"`` are fine, ``\"joe:password@python.org\"`` is not)." msgstr "" #: library/urllib.request.rst:1008 msgid "HTTPBasicAuthHandler Objects" msgstr "" #: library/urllib.request.rst:1013 library/urllib.request.rst:1024 #: library/urllib.request.rst:1049 library/urllib.request.rst:1060 msgid "Retry the request with authentication information, if available." msgstr "" #: library/urllib.request.rst:1019 msgid "ProxyBasicAuthHandler Objects" msgstr "" #: library/urllib.request.rst:1030 msgid "AbstractDigestAuthHandler Objects" msgstr "" #: library/urllib.request.rst:1035 msgid "" "*authreq* should be the name of the header where the information about the " "realm is included in the request, *host* should be the host to authenticate " "to, *req* should be the (failed) :class:`Request` object, and *headers* " "should be the error headers." msgstr "" #: library/urllib.request.rst:1044 msgid "HTTPDigestAuthHandler Objects" msgstr "" #: library/urllib.request.rst:1055 msgid "ProxyDigestAuthHandler Objects" msgstr "" #: library/urllib.request.rst:1066 msgid "HTTPHandler Objects" msgstr "" #: library/urllib.request.rst:1071 msgid "" "Send an HTTP request, which can be either GET or POST, depending on ``req." "has_data()``." msgstr "" #: library/urllib.request.rst:1078 msgid "HTTPSHandler Objects" msgstr "" #: library/urllib.request.rst:1083 msgid "" "Send an HTTPS request, which can be either GET or POST, depending on ``req." "has_data()``." msgstr "" #: library/urllib.request.rst:1090 msgid "FileHandler Objects" msgstr "" #: library/urllib.request.rst:1095 msgid "" "Open the file locally, if there is no host name, or the host name is " "``'localhost'``." msgstr "" #: library/urllib.request.rst:1098 msgid "" "This method is applicable only for local hostnames. When a remote hostname " "is given, an :exc:`~urllib.error.URLError` is raised." msgstr "" #: library/urllib.request.rst:1106 msgid "DataHandler Objects" msgstr "" #: library/urllib.request.rst:1110 msgid "" "Read a data URL. This kind of URL contains the content encoded in the URL " "itself. The data URL syntax is specified in :rfc:`2397`. This implementation " "ignores white spaces in base64 encoded data URLs so the URL may be wrapped " "in whatever source file it comes from. But even though some browsers don't " "mind about a missing padding at the end of a base64 encoded data URL, this " "implementation will raise an :exc:`ValueError` in that case." msgstr "" #: library/urllib.request.rst:1121 msgid "FTPHandler Objects" msgstr "" #: library/urllib.request.rst:1126 msgid "" "Open the FTP file indicated by *req*. The login is always done with empty " "username and password." msgstr "" #: library/urllib.request.rst:1133 msgid "CacheFTPHandler Objects" msgstr "" #: library/urllib.request.rst:1135 msgid "" ":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " "following additional methods:" msgstr "" #: library/urllib.request.rst:1141 msgid "Set timeout of connections to *t* seconds." msgstr "" #: library/urllib.request.rst:1146 msgid "Set maximum number of cached connections to *m*." msgstr "" #: library/urllib.request.rst:1152 msgid "UnknownHandler Objects" msgstr "" #: library/urllib.request.rst:1157 msgid "Raise a :exc:`~urllib.error.URLError` exception." msgstr "" #: library/urllib.request.rst:1163 msgid "HTTPErrorProcessor Objects" msgstr "" #: library/urllib.request.rst:1169 msgid "For 200 error codes, the response object is returned immediately." msgstr "" #: library/urllib.request.rst:1171 msgid "" "For non-200 error codes, this simply passes the job on to the :meth:" "`http_error_\\` handler methods, via :meth:`OpenerDirector.error`. " "Eventually, :class:`HTTPDefaultErrorHandler` will raise an :exc:`~urllib." "error.HTTPError` if no other handler handles the error." msgstr "" #: library/urllib.request.rst:1179 msgid "Process HTTPS error responses." msgstr "" #: library/urllib.request.rst:1181 msgid "The behavior is same as :meth:`http_response`." msgstr "" #: library/urllib.request.rst:1187 msgid "Examples" msgstr "Exemples" #: library/urllib.request.rst:1189 msgid "" "In addition to the examples below, more examples are given in :ref:`urllib-" "howto`." msgstr "" #: library/urllib.request.rst:1192 msgid "" "This example gets the python.org main page and displays the first 300 bytes " "of it. ::" msgstr "" #: library/urllib.request.rst:1205 msgid "" "Note that urlopen returns a bytes object. This is because there is no way " "for urlopen to automatically determine the encoding of the byte stream it " "receives from the HTTP server. In general, a program will decode the " "returned bytes object to string once it determines or guesses the " "appropriate encoding." msgstr "" #: library/urllib.request.rst:1211 msgid "" "The following W3C document, https://www.w3.org/International/O-charset\\ , " "lists the various ways in which an (X)HTML or an XML document could have " "specified its encoding information." msgstr "" #: library/urllib.request.rst:1215 msgid "" "As the python.org website uses *utf-8* encoding as specified in its meta " "tag, we will use the same for decoding the bytes object. ::" msgstr "" #: library/urllib.request.rst:1224 msgid "" "It is also possible to achieve the same result without using the :term:" "`context manager` approach. ::" msgstr "" #: library/urllib.request.rst:1233 msgid "" "In the following example, we are sending a data-stream to the stdin of a CGI " "and reading the data it returns to us. Note that this example will only work " "when the Python installation supports SSL. ::" msgstr "" #: library/urllib.request.rst:1245 msgid "The code for the sample CGI used in the above example is::" msgstr "" #: library/urllib.request.rst:1252 msgid "Here is an example of doing a ``PUT`` request using :class:`Request`::" msgstr "" #: library/urllib.request.rst:1262 msgid "Use of Basic HTTP Authentication::" msgstr "" #: library/urllib.request.rst:1276 msgid "" ":func:`build_opener` provides many handlers by default, including a :class:" "`ProxyHandler`. By default, :class:`ProxyHandler` uses the environment " "variables named ``_proxy``, where ```` is the URL scheme " "involved. For example, the :envvar:`http_proxy` environment variable is " "read to obtain the HTTP proxy's URL." msgstr "" #: library/urllib.request.rst:1282 msgid "" "This example replaces the default :class:`ProxyHandler` with one that uses " "programmatically supplied proxy URLs, and adds proxy authorization support " "with :class:`ProxyBasicAuthHandler`. ::" msgstr "" #: library/urllib.request.rst:1294 msgid "Adding HTTP headers:" msgstr "" #: library/urllib.request.rst:1296 msgid "Use the *headers* argument to the :class:`Request` constructor, or::" msgstr "" #: library/urllib.request.rst:1305 msgid "" ":class:`OpenerDirector` automatically adds a :mailheader:`User-Agent` header " "to every :class:`Request`. To change this::" msgstr "" #: library/urllib.request.rst:1313 msgid "" "Also, remember that a few standard headers (:mailheader:`Content-Length`, :" "mailheader:`Content-Type` and :mailheader:`Host`) are added when the :class:" "`Request` is passed to :func:`urlopen` (or :meth:`OpenerDirector.open`)." msgstr "" #: library/urllib.request.rst:1320 msgid "" "Here is an example session that uses the ``GET`` method to retrieve a URL " "containing parameters::" msgstr "" #: library/urllib.request.rst:1331 msgid "" "The following example uses the ``POST`` method instead. Note that params " "output from urlencode is encoded to bytes before it is sent to urlopen as " "data::" msgstr "" #: library/urllib.request.rst:1342 msgid "" "The following example uses an explicitly specified HTTP proxy, overriding " "environment settings::" msgstr "" #: library/urllib.request.rst:1352 msgid "" "The following example uses no proxies at all, overriding environment " "settings::" msgstr "" #: library/urllib.request.rst:1362 msgid "Legacy interface" msgstr "" #: library/urllib.request.rst:1364 msgid "" "The following functions and classes are ported from the Python 2 module " "``urllib`` (as opposed to ``urllib2``). They might become deprecated at " "some point in the future." msgstr "" #: library/urllib.request.rst:1370 msgid "" "Copy a network object denoted by a URL to a local file. If the URL points to " "a local file, the object will not be copied unless filename is supplied. " "Return a tuple ``(filename, headers)`` where *filename* is the local file " "name under which the object can be found, and *headers* is whatever the :" "meth:`info` method of the object returned by :func:`urlopen` returned (for a " "remote object). Exceptions are the same as for :func:`urlopen`." msgstr "" #: library/urllib.request.rst:1377 msgid "" "The second argument, if present, specifies the file location to copy to (if " "absent, the location will be a tempfile with a generated name). The third " "argument, if present, is a callable that will be called once on " "establishment of the network connection and once after each block read " "thereafter. The callable will be passed three arguments; a count of blocks " "transferred so far, a block size in bytes, and the total size of the file. " "The third argument may be ``-1`` on older FTP servers which do not return a " "file size in response to a retrieval request." msgstr "" #: library/urllib.request.rst:1386 msgid "The following example illustrates the most common usage scenario::" msgstr "" #: library/urllib.request.rst:1393 msgid "" "If the *url* uses the :file:`http:` scheme identifier, the optional *data* " "argument may be given to specify a ``POST`` request (normally the request " "type is ``GET``). The *data* argument must be a bytes object in standard :" "mimetype:`application/x-www-form-urlencoded` format; see the :func:`urllib." "parse.urlencode` function." msgstr "" #: library/urllib.request.rst:1399 msgid "" ":func:`urlretrieve` will raise :exc:`ContentTooShortError` when it detects " "that the amount of data available was less than the expected amount (which " "is the size reported by a *Content-Length* header). This can occur, for " "example, when the download is interrupted." msgstr "" #: library/urllib.request.rst:1404 msgid "" "The *Content-Length* is treated as a lower bound: if there's more data to " "read, urlretrieve reads more data, but if less data is available, it raises " "the exception." msgstr "" #: library/urllib.request.rst:1408 msgid "" "You can still retrieve the downloaded data in this case, it is stored in " "the :attr:`content` attribute of the exception instance." msgstr "" #: library/urllib.request.rst:1411 msgid "" "If no *Content-Length* header was supplied, urlretrieve can not check the " "size of the data it has downloaded, and just returns it. In this case you " "just have to assume that the download was successful." msgstr "" #: library/urllib.request.rst:1417 msgid "" "Cleans up temporary files that may have been left behind by previous calls " "to :func:`urlretrieve`." msgstr "" #: library/urllib.request.rst:1424 msgid "" "Base class for opening and reading URLs. Unless you need to support opening " "objects using schemes other than :file:`http:`, :file:`ftp:`, or :file:`file:" "`, you probably want to use :class:`FancyURLopener`." msgstr "" #: library/urllib.request.rst:1428 msgid "" "By default, the :class:`URLopener` class sends a :mailheader:`User-Agent` " "header of ``urllib/VVV``, where *VVV* is the :mod:`urllib` version number. " "Applications can define their own :mailheader:`User-Agent` header by " "subclassing :class:`URLopener` or :class:`FancyURLopener` and setting the " "class attribute :attr:`version` to an appropriate string value in the " "subclass definition." msgstr "" #: library/urllib.request.rst:1434 msgid "" "The optional *proxies* parameter should be a dictionary mapping scheme names " "to proxy URLs, where an empty dictionary turns proxies off completely. Its " "default value is ``None``, in which case environmental proxy settings will " "be used if present, as discussed in the definition of :func:`urlopen`, above." msgstr "" #: library/urllib.request.rst:1439 msgid "" "Additional keyword parameters, collected in *x509*, may be used for " "authentication of the client when using the :file:`https:` scheme. The " "keywords *key_file* and *cert_file* are supported to provide an SSL key and " "certificate; both are needed to support client authentication." msgstr "" #: library/urllib.request.rst:1444 msgid "" ":class:`URLopener` objects will raise an :exc:`OSError` exception if the " "server returns an error code." msgstr "" #: library/urllib.request.rst:1449 msgid "" "Open *fullurl* using the appropriate protocol. This method sets up cache " "and proxy information, then calls the appropriate open method with its input " "arguments. If the scheme is not recognized, :meth:`open_unknown` is called. " "The *data* argument has the same meaning as the *data* argument of :func:" "`urlopen`." msgstr "" #: library/urllib.request.rst:1455 msgid "This method always quotes *fullurl* using :func:`~urllib.parse.quote`." msgstr "" #: library/urllib.request.rst:1459 msgid "Overridable interface to open unknown URL types." msgstr "" #: library/urllib.request.rst:1464 msgid "" "Retrieves the contents of *url* and places it in *filename*. The return " "value is a tuple consisting of a local filename and either an :class:`email." "message.Message` object containing the response headers (for remote URLs) or " "``None`` (for local URLs). The caller must then open and read the contents " "of *filename*. If *filename* is not given and the URL refers to a local " "file, the input filename is returned. If the URL is non-local and " "*filename* is not given, the filename is the output of :func:`tempfile." "mktemp` with a suffix that matches the suffix of the last path component of " "the input URL. If *reporthook* is given, it must be a function accepting " "three numeric parameters: A chunk number, the maximum size chunks are read " "in and the total size of the download (-1 if unknown). It will be called " "once at the start and after each chunk of data is read from the network. " "*reporthook* is ignored for local URLs." msgstr "" #: library/urllib.request.rst:1477 msgid "" "If the *url* uses the :file:`http:` scheme identifier, the optional *data* " "argument may be given to specify a ``POST`` request (normally the request " "type is ``GET``). The *data* argument must in standard :mimetype:" "`application/x-www-form-urlencoded` format; see the :func:`urllib.parse." "urlencode` function." msgstr "" #: library/urllib.request.rst:1486 msgid "" "Variable that specifies the user agent of the opener object. To get :mod:" "`urllib` to tell servers that it is a particular user agent, set this in a " "subclass as a class variable or in the constructor before calling the base " "constructor." msgstr "" #: library/urllib.request.rst:1496 msgid "" ":class:`FancyURLopener` subclasses :class:`URLopener` providing default " "handling for the following HTTP response codes: 301, 302, 303, 307 and 401. " "For the 30x response codes listed above, the :mailheader:`Location` header " "is used to fetch the actual URL. For 401 response codes (authentication " "required), basic HTTP authentication is performed. For the 30x response " "codes, recursion is bounded by the value of the *maxtries* attribute, which " "defaults to 10." msgstr "" #: library/urllib.request.rst:1503 msgid "" "For all other response codes, the method :meth:`http_error_default` is " "called which you can override in subclasses to handle the error " "appropriately." msgstr "" #: library/urllib.request.rst:1508 msgid "" "According to the letter of :rfc:`2616`, 301 and 302 responses to POST " "requests must not be automatically redirected without confirmation by the " "user. In reality, browsers do allow automatic redirection of these " "responses, changing the POST to a GET, and :mod:`urllib` reproduces this " "behaviour." msgstr "" #: library/urllib.request.rst:1513 msgid "" "The parameters to the constructor are the same as those for :class:" "`URLopener`." msgstr "" #: library/urllib.request.rst:1517 msgid "" "When performing basic authentication, a :class:`FancyURLopener` instance " "calls its :meth:`prompt_user_passwd` method. The default implementation " "asks the users for the required information on the controlling terminal. A " "subclass may override this method to support more appropriate behavior if " "needed." msgstr "" #: library/urllib.request.rst:1522 msgid "" "The :class:`FancyURLopener` class offers one additional method that should " "be overloaded to provide the appropriate behavior:" msgstr "" #: library/urllib.request.rst:1527 msgid "" "Return information needed to authenticate the user at the given host in the " "specified security realm. The return value should be a tuple, ``(user, " "password)``, which can be used for basic authentication." msgstr "" #: library/urllib.request.rst:1531 msgid "" "The implementation prompts for this information on the terminal; an " "application should override this method to use an appropriate interaction " "model in the local environment." msgstr "" #: library/urllib.request.rst:1537 msgid ":mod:`urllib.request` Restrictions" msgstr "" #: library/urllib.request.rst:1543 msgid "" "Currently, only the following protocols are supported: HTTP (versions 0.9 " "and 1.0), FTP, local files, and data URLs." msgstr "" #: library/urllib.request.rst:1546 msgid "Added support for data URLs." msgstr "" #: library/urllib.request.rst:1548 msgid "" "The caching feature of :func:`urlretrieve` has been disabled until someone " "finds the time to hack proper processing of Expiration time headers." msgstr "" #: library/urllib.request.rst:1551 msgid "" "There should be a function to query whether a particular URL is in the cache." msgstr "" #: library/urllib.request.rst:1553 msgid "" "For backward compatibility, if a URL appears to point to a local file but " "the file can't be opened, the URL is re-interpreted using the FTP protocol. " "This can sometimes cause confusing error messages." msgstr "" #: library/urllib.request.rst:1557 msgid "" "The :func:`urlopen` and :func:`urlretrieve` functions can cause arbitrarily " "long delays while waiting for a network connection to be set up. This means " "that it is difficult to build an interactive web client using these " "functions without using threads." msgstr "" #: library/urllib.request.rst:1566 msgid "" "The data returned by :func:`urlopen` or :func:`urlretrieve` is the raw data " "returned by the server. This may be binary data (such as an image), plain " "text or (for example) HTML. The HTTP protocol provides type information in " "the reply header, which can be inspected by looking at the :mailheader:" "`Content-Type` header. If the returned data is HTML, you can use the " "module :mod:`html.parser` to parse it." msgstr "" #: library/urllib.request.rst:1575 msgid "" "The code handling the FTP protocol cannot differentiate between a file and a " "directory. This can lead to unexpected behavior when attempting to read a " "URL that points to a file that is not accessible. If the URL ends in a ``/" "``, it is assumed to refer to a directory and will be handled accordingly. " "But if an attempt to read a file leads to a 550 error (meaning the URL " "cannot be found or is not accessible, often for permission reasons), then " "the path is treated as a directory in order to handle the case when a " "directory is specified by a URL but the trailing ``/`` has been left off. " "This can cause misleading results when you try to fetch a file whose read " "permissions make it inaccessible; the FTP code will try to read it, fail " "with a 550 error, and then perform a directory listing for the unreadable " "file. If fine-grained control is needed, consider using the :mod:`ftplib` " "module, subclassing :class:`FancyURLopener`, or changing *_urlopener* to " "meet your needs." msgstr "" #: library/urllib.request.rst:1592 msgid ":mod:`urllib.response` --- Response classes used by urllib" msgstr "" #: library/urllib.request.rst:1597 msgid "" "The :mod:`urllib.response` module defines functions and classes which define " "a minimal file-like interface, including ``read()`` and ``readline()``. " "Functions defined by this module are used internally by the :mod:`urllib." "request` module. The typical response object is a :class:`urllib.response." "addinfourl` instance:" msgstr "" #: library/urllib.request.rst:1606 msgid "" "URL of the resource retrieved, commonly used to determine if a redirect was " "followed." msgstr "" #: library/urllib.request.rst:1610 msgid "" "Returns the headers of the response in the form of an :class:`~email.message." "EmailMessage` instance." msgstr "" #: library/urllib.request.rst:1616 msgid "Status code returned by server." msgstr "" #: library/urllib.request.rst:1620 msgid "Deprecated in favor of :attr:`~addinfourl.url`." msgstr "" #: library/urllib.request.rst:1625 msgid "Deprecated in favor of :attr:`~addinfourl.headers`." msgstr "" #: library/urllib.request.rst:1630 library/urllib.request.rst:1635 msgid "Deprecated in favor of :attr:`~addinfourl.status`." msgstr ""