requests AttributeError: type object 'bytes' has no attribute 'get'
requests AttributeError: type object 'bytes' has no attribute 'get'
我创建了一个程序,可以从 2ip 解析著名的 API
。即使当接收参数被分配 bytes
和 str
时也会出现问题,没有任何帮助,这里是代码:
View_dict = {
'View':{
'txt': [
'text', 'txt', 'log', 'TXT', 'LOG'
],
'str': [
'str', 'STR', 'out'
]
}
}
class Main:
class BreakHost:
domain = bytes
mode = str
def __init__(self, Mode, Domain, load_proxy=bytes):
self.domain=Domain
self.mode=Mode
try:
for k, v in View_dict["View"].items():
if Mode in v:
Mode = k
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}', proxies=load_proxy)
answer = send_requests
soup_check = bs4.BeautifulSoup(answer, 'lxml')
error_send = soup_check.find('div', class_='error').text.strip()
if error_send == 'IP address is not valid / IP-адрес не действительный':
if Mode == 'txt':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered domain ---> {Domain}')
elif Mode == 'str':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered doamin ---> {Domain}')
else:
pass
soup_json = bs4.BeautifulSoup(send_requests).text.strip()
site_json = json.loads(soup_json)
Handler = site_json
if Mode == 'str':
try:
_info_(View='str', TEXT='%s' % (Handler["name_ripe"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
try:
_info_(View='str', TEXT='%s' % (Handler["name_rus"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
except KeyboardInterrupt:
_warning_(View='str', TEXT='KeyboardInterrupt', NickName=Root, TypeMSG='Message')
time.sleep(2)
_error_(View='str', TEXT='KeyboardInterrupt', NickName=Root, Sender='BreakHost', TypeError='WARNING', TypeMSG='Message')
return Sos1skaKeyboardInterrupt('Keyboardinterrupt, pressed "CTRL+C"')
P.S。网上没找到解决问题的方法
完整错误:
File "d:\Development\S_B_FrameWork\__init__.py", line 2, in <module>
Main.BreakHost(Mode='str', Domain='google.com')
File "d:\Development\S_B_FrameWork\services\__init__.py", line 65, in __init__
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}', proxies=load_proxy)
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 532, in request
settings = self.merge_environment_settings(
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 710, in merge_environment_settings
no_proxy = proxies.get('no_proxy') if proxies is not None else None
AttributeError: type object 'bytes' has no attribute 'get'
class Main:
class BreakHost:
domain = bytes
mode = str
def __init__(self, Mode, Domain, load_proxy=None):
self.domain=Domain
self.mode=Mode
try:
for k, v in View_dict["View"].items():
if Mode in v:
Mode = k
if load_proxy == None:
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}')
answer = send_requests
soup_check = bs4.BeautifulSoup(answer.text, 'html.parser')
error_send = soup_check.find('div', class_='error')
if error_send == 'IP address is not valid / IP-адрес не действительный':
if Mode == 'txt':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered domain ---> {Domain}')
elif Mode == 'str':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered doamin ---> {Domain}')
else:
pass
soup_json = bs4.BeautifulSoup(send_requests.text, 'html.parser').text
site_json = json.loads(soup_json)
Handler = site_json
if Mode == 'str':
try:
_info_(View='str', TEXT='%s' % (Handler["name_ripe"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
try:
_info_(View='str', TEXT='%s' % (Handler["name_rus"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
else:
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}', proxies=load_proxy)
answer = send_requests
soup_check = bs4.BeautifulSoup(answer.text, 'html.parser')
error_send = soup_check.find('div', class_='error')
if error_send == 'IP address is not valid / IP-адрес не действительный':
if Mode == 'txt':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered domain ---> {Domain}')
elif Mode == 'str':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered doamin ---> {Domain}')
else:
pass
soup_json = bs4.BeautifulSoup(send_requests.text, 'html.parser').text
site_json = json.loads(soup_json)
Handler = site_json
if Mode == 'str':
try:
_info_(View='str', TEXT='%s' % (Handler["name_ripe"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
try:
_info_(View='str', TEXT='%s' % (Handler["name_rus"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
except KeyboardInterrupt:
_warning_(View='str', TEXT='KeyboardInterrupt', NickName=Root, TypeMSG='Message')
time.sleep(2)
_error_(View='str', TEXT='KeyboardInterrupt', NickName=Root, Sender='BreakHost', TypeError='WARNING', TypeMSG='Message')
return Sos1skaKeyboardInterrupt('Keyboardinterrupt, pressed "CTRL+C"')
错误在 load_proxy 中,我明白了为什么我将字节作为参数传递给它。感谢 Michael Butscher
关于 load_proxy
参数
的注释和问题
我创建了一个程序,可以从 2ip 解析著名的 API
。即使当接收参数被分配 bytes
和 str
时也会出现问题,没有任何帮助,这里是代码:
View_dict = {
'View':{
'txt': [
'text', 'txt', 'log', 'TXT', 'LOG'
],
'str': [
'str', 'STR', 'out'
]
}
}
class Main:
class BreakHost:
domain = bytes
mode = str
def __init__(self, Mode, Domain, load_proxy=bytes):
self.domain=Domain
self.mode=Mode
try:
for k, v in View_dict["View"].items():
if Mode in v:
Mode = k
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}', proxies=load_proxy)
answer = send_requests
soup_check = bs4.BeautifulSoup(answer, 'lxml')
error_send = soup_check.find('div', class_='error').text.strip()
if error_send == 'IP address is not valid / IP-адрес не действительный':
if Mode == 'txt':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered domain ---> {Domain}')
elif Mode == 'str':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered doamin ---> {Domain}')
else:
pass
soup_json = bs4.BeautifulSoup(send_requests).text.strip()
site_json = json.loads(soup_json)
Handler = site_json
if Mode == 'str':
try:
_info_(View='str', TEXT='%s' % (Handler["name_ripe"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
try:
_info_(View='str', TEXT='%s' % (Handler["name_rus"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
except KeyboardInterrupt:
_warning_(View='str', TEXT='KeyboardInterrupt', NickName=Root, TypeMSG='Message')
time.sleep(2)
_error_(View='str', TEXT='KeyboardInterrupt', NickName=Root, Sender='BreakHost', TypeError='WARNING', TypeMSG='Message')
return Sos1skaKeyboardInterrupt('Keyboardinterrupt, pressed "CTRL+C"')
P.S。网上没找到解决问题的方法
完整错误:
File "d:\Development\S_B_FrameWork\__init__.py", line 2, in <module>
Main.BreakHost(Mode='str', Domain='google.com')
File "d:\Development\S_B_FrameWork\services\__init__.py", line 65, in __init__
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}', proxies=load_proxy)
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 532, in request
settings = self.merge_environment_settings(
File "C:\Users\Kolia\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 710, in merge_environment_settings
no_proxy = proxies.get('no_proxy') if proxies is not None else None
AttributeError: type object 'bytes' has no attribute 'get'
class Main:
class BreakHost:
domain = bytes
mode = str
def __init__(self, Mode, Domain, load_proxy=None):
self.domain=Domain
self.mode=Mode
try:
for k, v in View_dict["View"].items():
if Mode in v:
Mode = k
if load_proxy == None:
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}')
answer = send_requests
soup_check = bs4.BeautifulSoup(answer.text, 'html.parser')
error_send = soup_check.find('div', class_='error')
if error_send == 'IP address is not valid / IP-адрес не действительный':
if Mode == 'txt':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered domain ---> {Domain}')
elif Mode == 'str':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered doamin ---> {Domain}')
else:
pass
soup_json = bs4.BeautifulSoup(send_requests.text, 'html.parser').text
site_json = json.loads(soup_json)
Handler = site_json
if Mode == 'str':
try:
_info_(View='str', TEXT='%s' % (Handler["name_ripe"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
try:
_info_(View='str', TEXT='%s' % (Handler["name_rus"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
else:
send_requests = requests.get(f'https://api.2ip.ua/hosting.json?site={Domain}', proxies=load_proxy)
answer = send_requests
soup_check = bs4.BeautifulSoup(answer.text, 'html.parser')
error_send = soup_check.find('div', class_='error')
if error_send == 'IP address is not valid / IP-адрес не действительный':
if Mode == 'txt':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered domain ---> {Domain}')
elif Mode == 'str':
_error_(View=Mode, TEXT='This is Domain does not exist', NickName=Root, Sender='BreakHost', TypeError='CRITICAL', TypeMSG='Message')
return Sos1skaError(f'Domain not exist, check the entered doamin ---> {Domain}')
else:
pass
soup_json = bs4.BeautifulSoup(send_requests.text, 'html.parser').text
site_json = json.loads(soup_json)
Handler = site_json
if Mode == 'str':
try:
_info_(View='str', TEXT='%s' % (Handler["name_ripe"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
try:
_info_(View='str', TEXT='%s' % (Handler["name_rus"]), NickName=Root)
except KeyError:
_info_(View='str', TEXT='Not Found Information', NickName=Root)
except KeyboardInterrupt:
_warning_(View='str', TEXT='KeyboardInterrupt', NickName=Root, TypeMSG='Message')
time.sleep(2)
_error_(View='str', TEXT='KeyboardInterrupt', NickName=Root, Sender='BreakHost', TypeError='WARNING', TypeMSG='Message')
return Sos1skaKeyboardInterrupt('Keyboardinterrupt, pressed "CTRL+C"')
错误在 load_proxy 中,我明白了为什么我将字节作为参数传递给它。感谢 Michael Butscher
关于 load_proxy
参数