mirror of
https://github.com/python/cpython.git
synced 2024-11-28 04:15:11 +08:00
merge
This commit is contained in:
commit
4775def25d
@ -115,6 +115,7 @@ library. ::
|
||||
'language' : 'Python' }
|
||||
|
||||
data = urllib.parse.urlencode(values)
|
||||
data = data.encode('utf-8') # data should be bytes
|
||||
req = urllib.request.Request(url, data)
|
||||
response = urllib.request.urlopen(req)
|
||||
the_page = response.read()
|
||||
@ -179,7 +180,8 @@ Explorer [#]_. ::
|
||||
'language' : 'Python' }
|
||||
headers = { 'User-Agent' : user_agent }
|
||||
|
||||
data = urllib.parse.urlencode(values)
|
||||
data = urllib.parse.urlencode(values)
|
||||
data = data.encode('utf-8')
|
||||
req = urllib.request.Request(url, data, headers)
|
||||
response = urllib.request.urlopen(req)
|
||||
the_page = response.read()
|
||||
|
@ -138,14 +138,13 @@ The following classes are provided:
|
||||
|
||||
*url* should be a string containing a valid URL.
|
||||
|
||||
*data* may be a string 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*, in order to choose between
|
||||
``'GET'`` and ``'POST'`` when *method* is not specified.
|
||||
*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 a string in this format.
|
||||
*data* may be a bytes 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 HTTP request will be a POST instead of a
|
||||
GET when the *data* parameter is provided. *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 a string in this format.
|
||||
|
||||
*headers* should be a dictionary, and will be treated as if
|
||||
:meth:`add_header` was called with each key and value as arguments.
|
||||
@ -1183,7 +1182,7 @@ some point in the future.
|
||||
|
||||
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
|
||||
type is ``GET``). The *data* argument must be a bytes object in standard
|
||||
:mimetype:`application/x-www-form-urlencoded` format; see the
|
||||
:func:`urlencode` function below.
|
||||
|
||||
|
@ -892,6 +892,8 @@ XMLPARSEAPI(int)
|
||||
XML_SetHashSalt(XML_Parser parser,
|
||||
unsigned long hash_salt);
|
||||
|
||||
#define XML_HAS_SET_HASH_SALT /* Python Only: Defined for pyexpat.c. */
|
||||
|
||||
/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then
|
||||
XML_GetErrorCode returns information about the error.
|
||||
*/
|
||||
|
@ -1156,8 +1156,13 @@ newxmlparseobject(char *encoding, char *namespace_separator, PyObject *intern)
|
||||
else {
|
||||
self->itself = XML_ParserCreate(encoding);
|
||||
}
|
||||
#if ((XML_MAJOR_VERSION >= 2) && (XML_MINOR_VERSION >= 1)) || defined(XML_HAS_SET_HASH_SALT)
|
||||
/* This feature was added upstream in libexpat 2.1.0. Our expat copy
|
||||
* has a backport of this feature where we also define XML_HAS_SET_HASH_SALT
|
||||
* to indicate that we can still use it. */
|
||||
XML_SetHashSalt(self->itself,
|
||||
(unsigned long)_Py_HashSecret.prefix);
|
||||
#endif
|
||||
self->intern = intern;
|
||||
Py_XINCREF(self->intern);
|
||||
PyObject_GC_Track(self);
|
||||
|
Loading…
Reference in New Issue
Block a user