Python 仅使用默认库的多部分表单数据POST?

Python 仅使用默认库的多部分表单数据POST?,python,python-2.7,python-3.x,urllib,Python,Python 2.7,Python 3.x,Urllib,如果能在没有任何依赖关系的情况下完成,那就太好了。 以下是我目前的做法,但不起作用: data = urllib.parse.urlencode( { 'field':'value', 'field':'value', 'field':'value' } ).encode('utf-8') req = urllib.request.Re

如果能在没有任何依赖关系的情况下完成,那就太好了。
以下是我目前的做法,但不起作用:

data = urllib.parse.urlencode(
            {
                'field':'value',
                'field':'value',
                'field':'value'
            }
        ).encode('utf-8')

req = urllib.request.Request('http://www.example.com', data)

response = opener.open(req).read().decode('utf-8')
根据其中的示例,在将数据发送到
Request
对象之前,不需要对数据进行
utf-8
编码

所以试试这个-

data = urllib.parse.urlencode(
            {
                'field':'value',
                'field':'value',
                'field':'value'
            }
        )

req = urllib.request.Request('http://www.example.com', data)

response = opener.open(req).read()
根据其中的示例,在将数据发送到
Request
对象之前,不需要对数据进行
utf-8
编码

所以试试这个-

data = urllib.parse.urlencode(
            {
                'field':'value',
                'field':'value',
                'field':'value'
            }
        )

req = urllib.request.Request('http://www.example.com', data)

response = opener.open(req).read()

你为什么要做
.encode('utf-8')
?我会使用
请求
,虽然它不在标准库中。它说“POST数据应该是字节或一个字节的可数。它不能是str类型”@MalikBrahimi,请求会让它更容易,但是如果只使用urllib,那就太好了。你为什么要使用
。encode('utf-8')
?我会使用
请求
,虽然它不在标准库中。它说“POST数据应该是字节或字节数。它不能是str类型”@MalikBrahimi,请求会让它变得更容易,但是,如果只使用urllib就可以了。