Ciro IP na wakili da tashoshin hex daga JSON da aka sa a ciki
Buɗe sanannun kayan JSON daga kiran rubutun jerin wakilai kuma fassara tashar hex kawai lokacin da tsarin tushen ya bayyana haka.
Teburin HTML mara komai ba koyaushe yake nufin amsar ba ta da rikodin wakili ba. Wasu jerin suna sanya abubuwan JSON cikin kiran JavaScript kuma suna cika layukan daga baya.
Ga tushen da aka riga aka samo wanda ke amfani da takamaiman murfin gp.insertPrx sannan abin JSON:
import ipaddress
import json
import re
decoder = json.JSONDecoder()
endpoints = set()
for marker in re.finditer(r"gp[.]insertPrx\(\s*", html):
try:
row, end = decoder.raw_decode(html, marker.end())
if not isinstance(row, dict):
continue
address = ipaddress.ip_address(row["PROXY_IP"])
port = int(row["PROXY_PORT"], 16)
except (ValueError, KeyError, TypeError):
continue
if 1 <= port <= 65535 and html[end:].lstrip().startswith(");"):
endpoints.add((str(address), port))
html shine rubutun tushen, ba abin burauza ba. Maganar yau da kullum tana gano sanannen murfi; JSONDecoder yana ƙayyade inda darajar JSON ta ƙare. Wannan yana guje wa ƙoƙarin nazarin JSON mai zurfi da maganar yau da kullum kawai.
Filin tashar a misalin a bayyane hexadecimal ne: C38 na nufin 3128 na goma. Kada ka yi amfani da tushe 16 a filin goma na wani mai bayarwa kawai saboda duka ana kiransu tasha.
Wannan mai nazari ne ga tsarin da aka ambata, ba mai fassarar JavaScript ba. Rubutun abu mai ɗigo ɗaya, ƙididdigar ƙima da sauran maganganun JavaScript suna buƙatar wata hanyar bayanai da aka rubuta. Kada ka aiwatar da lambar shafi ba bisa ka'ida ba don samun jerin ƙarshen maki.
Tabbatar da yarjejeniyar tushen kuma ka riƙe filayen yarjejeniya daban. Idan tushen yana da cikakkun layukan HTML a maimakon haka, yi amfani da cire ƙarshen maki bisa layi maimakon wannan mai nazarin murfin JavaScript. Cire adireshi da tasha baya tabbatar da cewa ƙarshen yankin yana ba da sabis ɗin wakili mai amfani a yanzu.