Всем привет!
В некоторых браузерах выходит предупреждение что: Осторожно, поддельный сайт! , Это небезопасный сайт, Deceptive site ahead
Создал скрипт на python, который будет считывать текстовый файл domains.txt и проверять в нем доменные имена, необходимо проверить чтобы на домене не выходило предупреждение: Осторожно, поддельный сайт! , Это небезопасный сайт, Deceptive site ahead.
Условия:
1. Если домен является поддельным (Осторожно, поддельный сайт! , Это небезопасный сайт, Deceptive site ahead) - необходимо создать текстовый файл block_domain.txt и записать его туда
2. Если домен не является поддельным (Осторожно, поддельный сайт! , Это небезопасный сайт, Deceptive site ahead) - необходимо создать файл white_domain.txt и записать его туда
Скрипт должен проверять информацию о домене на Safe Browsing site status.
Написал все это дело я на Python:
import urllib.request
import json
# Функция проверки безопасности домена на основе сервиса SafeBrowsing
def check_domain(domain):
url = "https://safebrowsing.googleapis.com/v4/threatMatches:find"
api_key = "тут мой API ключ" # мойAPI ключ
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {api_key}"}
data = {
"client": {
"clientId": "mycompany",
"clientVersion": "1.5.2"
},
"threatInfo": {
"threatTypes": ["MALWARE", "SOCIAL_ENGINEERING", "UNWANTED_SOFTWARE", "POTENTIALLY_HARMFUL_APPLICATION"],
"platformTypes": ["ANY_PLATFORM"],
"threatEntryTypes": ["URL"],
"threatEntries": [{"url": domain}]
}
}
try:
req = urllib.request.Request(url=url, headers=headers, data=json.dumps(data).encode("utf-8"))
response = urllib.request.urlopen(req)
result = json.loads(response.read().decode("utf-8"))
if result.get("matches"):
return True
else:
return False
except urllib.error.HTTPError as e:
print(f"HTTP Error: {e.code} - {e.reason}")
return False
# Открытие файла для чтения
with open("domains.txt", "r") as file:
# Открытие файлов для записи
block_file = open("block_domain.txt", "w")
white_file = open("white_domain.txt", "w")
# Чтение каждой строки файла domains.txt
for line in file:
domain = line.strip() # Удаление пробелов и переносов строки
if check_domain(domain):
block_file.write(domain + "\n") # Запись в файл block_domain.txt
else:
white_file.write(domain + "\n") # Запись в файл white_domain.txt
# Закрытие файлов
block_file.close()
white_file.close()
Так вот при запуске скрипта он мне выдает:
HTTP Error: 400 - Bad Request
HTTP Error: 400 - Bad Request
HTTP Error: 400 - Bad Request
HTTP Error: 400 - Bad Request
API ключе верный, никаких ограничений нет. Может сейчас что-то изменилось? Или для Россия какие-то ограничения есть (с vpn та же история)