Hogyan hoztam létre a Python Botot, hogy automatikusan bejelentkezhessek a Captive Portal-ba

Lépésről lépésre egy Python oktatóprogram a bejelentkezési bot létrehozásához

Manapság az internet nem kiváltság, hanem szükségszerűség. Bárhová is megyünk, állandó kapcsolatra van szükségünk az internethez akár Wi-Fi, akár mobil adatalapú hálózat segítségével.

Képzelje el, hogy csatlakozunk egy új egyetemhez vagy egy olyan szervezethez, amely a Wi-Fi-n keresztül internetet biztosít számunkra. A szervezet a felhasználók hitelesítéséhez egy nagyon gyakori bejelentkezési oldalt vezethet be, amelyet Captive Portalnak (más néven Falazott Kertnek ) hívnak .

A fogságban lévő portált számos okból használják.

  • Egyetemek és szervezetek használják arra, hogy korlátozzák azon készülékek számát, amelyek egy fiókból / személyről kapcsolódnak a Wi-Fi hálózathoz.
  • Úgy valósítják meg, hogy hozzáférést biztosítsanak olyan szolgáltatásokhoz, amelyek hitelesítést, fizetést vagy más érvényes hitelesítő adatokat igényelnek, amelyekhez mind a szolgáltató, mind a felhasználó beleegyezik.

Számos oka és előnye van a rögzített portál használatának, de ez a bejegyzés nem erről szól.

Cégem létrehozott egy rögzített portált, amelybe a felhasználóknak be kell jelentkezniük, hogy hozzáférhessenek az internethez. Miután csatlakoztam a vezeték nélküli hálózathoz, a böngészőm megnyitotta a rögzített portál oldalt, és meg kellett adnom a felhasználónevemet és a jelszavamat, ami után hozzáférhettem az internethez. De volt egy probléma.

Habár a Captive portál megvalósítása jó védelmet nyújt az illetéktelen internetes hozzáférés, a forgalom azonosítása és a felhasználók kezelése ellen, ellenőrzött kapcsolattal rendelkezik minden eszközzel annak biztosítása érdekében, hogy minden felhasználó megfelelő hozzáféréssel rendelkezzen. Egy rögzített portál

  • Szabályozhatja a terminálok számát felhasználónként
  • Szabályozhatja a sávszélesség-fogyasztást és / vagy munkamenetenkénti letöltési sebességet
  • Korlátozza a megengedett forgalom típusát, és adja meg a munkamenet időkorlátját is

Ezen korlátozások miatt, ha alvó állapotba helyezem a rendszert, vagy néhány percnél hosszabb ideig tétlen vagyok, a rendszerem kijelentkezik a hálózatról. Ezért a tétlen idő túllépése után újra be kellett jelentkeznem.

Szoftverfejlesztő lévén, aki állandó, útközbeni internetkapcsolatot igényel a rendszeremen, újra és újra meg kellett adnom a felhasználónevemet és a jelszavamat, ami nagyon nehézkessé tette.

Mi lenne, ha a kijelentkezés után a rendszerem egyetlen gombnyomására / ikonjára bejelentkezhetnék a rögzített portálon?

Meg lehet csinálni! Nem kell megadnia felhasználónevet és jelszót, amelynek a legtöbb esetben 8 karakter hosszúnak kell lennie, és legalább egy nagybetűvel kell írnia. Lássuk, hogyan tudjuk ezt megtenni.

Végrehajtás

Még akkor is, ha kezdő vagy a programozásban, ennek nagyon egyszerűnek kell lennie. Ezt kódoltam a Python programozási nyelvben. A Python letölthető itt, és szükségünk van Seleniumra is, amely innen letölthető. Ön is pip install selenium(ajánlott).

Most nézzük meg a kódot.

A szükséges könyvtárak importálása után meg kell adnunk a következő változókat a kódban.

Hadd magyarázzam el ezt most,

  • A webhely linkje nem más, mint a bejelentkezési oldal linkje vagy a rögzített portál link, amelyhez a felhasználó hitelesítené
  • u a felhasználónevet és a jelszót adja meg a bejelentkezéshez
  • element_for_username, element_for_password, element_for_submit az elem neve a bejelentkezési oldal HTML-kódjában

Hadd mutassam meg, hogyan találja meg ezeket.

Mint a fenti ábrán,

  • Nyissa meg az Ellenőrizze az elemet böngészőjétől függően.
  • Keresse meg a HTML elemet, és másolja a bemeneti címke nevét (a fenti példában annak felhasználónevét ).
  • Tegye ugyanezt a jelszó és a beküldés gomb HTML elemének megismerésére is.
  • Ezek a karakterláncok lesznek az elem_for_felhasználónév, elem_jel_jel, elem_for_feladás értékek .

A munka nagy része elkészült!

Megjegyzés: MacOS-on dolgozom, ezért a botot a Safari-hoz fogom megvalósítani. Chrome és mások esetén használja a Chrome-ot chromedriveren keresztül.

Másolja ezt a kódot a többi kóddal, és mentse Python-ként (.py fájl). Futtassa a fájlt a python script.py. Látni fogja, hogy a böngésző automatikusan megnyitja a bejelentkezési oldalt, beírja a részleteket és elküldi azokat. Már nem kell beírnia a felhasználónevet és a jelszót sem. Nem klassz?

Megjegyzés: A teljes kód a GitHubon érhető el.

Az Automator használata a macOS-ban alkalmazás létrehozásához (opcionális)

A macOS-ban létrehozhat egy alkalmazást, amely képes követni a munkafolyamatok meghatározott halmazát minden olyan feladathoz, amelyet ismételten végeznek.

Ebben a részben elmagyarázom, hogyan lehet a fenti Python szkriptet automatizáló alkalmazássá tenni. Ez lehetővé teszi a felhasználó számára, hogy bejelentkezzen a rögzített portálra, és egyszerűen kattintson az automatizáló alkalmazásfájlra.

Most nézzük meg ennek végrehajtásának lépéseit:

1. lépés: Nyissa meg az Automator alkalmazást . Hozzon létre egy új szolgáltatást vagy a Fájl & g t; Új > S ervice

2. lépés: a „ Run Script Shell ” akció, amelyben Shell: a / bin / bash és Pass bemenet: a paraméterként .

3. lépés: Most adja hozzá az alapkódot az alábbiak szerint. Mentse a fájlt az asztalra.

4. lépés: Kattintson a fájlra, majd a Voilà!

A probléma megoldása olyan egyszerű, mint például a bejelentkezési adatok ismételt beírása, könnyen elvégezhető. Miután tudta, mi a probléma állítása, a megoldás megtalálása könnyebb. Remélem, hogy ez a bejegyzés ötletet adott arról, hogyan működik a Selenium és a Python, és hogyan egyszerű létrehozni egy Python botot.