无法将用户和密码发送到 FancyURLopener 缺少 2 个必需的位置参数:'user' 和 'passwd'
can't send user and password to FancyURLopener getting missing 2 required positional arguments: 'user' and 'passwd'
我以为我的调用是正确的,但显然不是。有人可以告诉我我做错了什么吗?
import urllib.request
class testURLopener(urllib.request.FancyURLopener):
def __init__(self, user, passwd):
self.__user = user
self.__passwd = passwd
urllib.FancyURLopener.__init__(self)
if __name__ == '__main__' :
opener = testURLopener()
opener.setpasswd("user", "password")
web_byte = opener.open('https://www.test.com')
print(web_byte.getcode() )
问题是:
opener = testURLopener()
当您设置条件时,您的 init 会获取用户名和密码。您可以将参数更改为命名而不是位置,并使用以下代码设置默认值(您需要 FancyURLopener 的正确命名空间):
def __init__(self, user="", passwd=""):
self.__user = user
self.__passwd = passwd
urllib.request.FancyURLopener.__init__(self)
我以为我的调用是正确的,但显然不是。有人可以告诉我我做错了什么吗?
import urllib.request
class testURLopener(urllib.request.FancyURLopener):
def __init__(self, user, passwd):
self.__user = user
self.__passwd = passwd
urllib.FancyURLopener.__init__(self)
if __name__ == '__main__' :
opener = testURLopener()
opener.setpasswd("user", "password")
web_byte = opener.open('https://www.test.com')
print(web_byte.getcode() )
问题是:
opener = testURLopener()
当您设置条件时,您的 init 会获取用户名和密码。您可以将参数更改为命名而不是位置,并使用以下代码设置默认值(您需要 FancyURLopener 的正确命名空间):
def __init__(self, user="", passwd=""):
self.__user = user
self.__passwd = passwd
urllib.request.FancyURLopener.__init__(self)