import requests import subprocess from bs4 import BeautifulSoup from django.http import HttpResponse from django.shortcuts import render def base(request) -> HttpResponse: return HttpResponse("

Base views: Response - 200_OK

") def base_info(request) -> HttpResponse: return HttpResponse("

Info views: Response - 200_OK
Mironov Misha

") def status_output(request) -> HttpResponse: user_agent = request.META["HTTP_USER_AGENT"] response = requests.get(url='https://2ip.ru/') bs = BeautifulSoup(response.text, "lxml") ip = bs.find('div', 'ip') return HttpResponse( f"

IP: {ip.text}


IP: {user_agent}


Для безопасности изменены последние 2 " f"числа (после точек)

" ) def get_status_ipv4(request) -> HttpResponse: get_info = subprocess.check_output( ["powershell.exe", "Get-NetIPConfiguration -InterfaceAlias Ethernet -Detailed"], shell=True ) decoded = get_info.decode('ISO-8859-1').replace('\r', '') return HttpResponse( f'

{decoded}

' ) def post_status_ipv4(request): if request.method == 'POST': ip_addr = request.POST.get('ip_addr') ip_mask = request.POST.get('ip_mask') ip_dns = request.POST.get('ip_dns') # -InterfaceAlias Ethernet - Это моя локальная, личная настройка. Её следует менять для других! if ip_addr: subprocess.call( ["powershell.exe", f"Set-NetIPAddress -InterfaceAlias Ethernet -IPAddress {ip_addr}"], shell=True ) if ip_mask: subprocess.call( ["powershell.exe", f"Set-NetIPAddress -InterfaceAlias Ethernet -PrefixLength {ip_mask}"], shell=True ) if ip_dns: subprocess.call( ["powershell.exe", f"Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses {ip_dns}"], shell=True ) return HttpResponse( "

Good news! Check your ip setting! ( win + R -> ncpa.cpl)

" ) else: return render(request, 'post_form.html')