Išsaugokite ProxyHub MCP rezultatus IP:Port faile
Perskaitykite list_proxies JSON atsakymą, apdorokite klaidas ir išsaugokite tvarkingą HTTP tarpinių serverių failą, atskirdami duomenis nuo gyvų patikrų.
Norėdami iš ProxyHub MCP gauti po vieną IP:port eilutėje, pradėkite nuo viso JSON-RPC atsakymo, ne nuo pokalbio teksto kopijos.
- Per MCP klientą iškvieskite
list_proxies, nustatętypeįhttp. - Išsaugokite visą atsakymą kaip
mcp-response.json. - Toliau pateiktą standartinę biblioteką naudojantį keitiklį išsaugokite kaip
mcp-to-file.pyšalia atsakymo.
import json
from ipaddress import IPv4Address
from pathlib import Path
reply = json.loads(
Path("mcp-response.json").read_text(encoding="utf-8")
)
if "error" in reply:
raise RuntimeError("MCP returned a JSON-RPC error")
result = reply["result"]
if result.get("isError"):
raise RuntimeError("The proxy tool reported an error")
data = result["structuredContent"]
endpoints = []
seen = set()
for row in data["proxies"]:
if row["type"] != "http":
continue
host = str(IPv4Address(row["ip"]))
port = row["port"]
if type(port) is not int or not 1 <= port <= 65535:
raise ValueError("Invalid proxy port")
endpoint = f"{host}:{port}"
if endpoint not in seen:
seen.add(endpoint)
endpoints.append(endpoint)
text = "\n".join(endpoints)
Path("http-proxies.txt").write_text(
text + ("\n" if text else ""),
encoding="utf-8",
)
print(f"Saved {len(endpoints)} HTTP endpoints")
Paleiskite jį tame kataloge:
uv run --no-project python mcp-to-file.py
Patikrinkite išspausdintą skaičių ir http-proxies.txt. Pradinis atsakymas išlieka. JSON-RPC klaidos ir įrankio lygmens isError atsakymai sukelia klaidas; sėkmingas atsakymas be atitikmenų įrašo tuščią failą ir praneša nulį. Įrankio riba — iki 100 įrašų vienu iškvietimu, tad išvestis yra grąžinta atranka, ne būtinai visas HTTP tarpinių serverių sąrašas.
Keitiklis priima tik kaip http nurodytas eilutes ir tikrina IPv4 sintaksę bei prievado diapazoną pagal dabartinio rinkiklio IPv4 formatą. Kito protokolo atveju išsaugokite tą informaciją arba naudokite atskirą failą; paprastas mišrus IP:port failas priimančiam klientui nepasako, kokį rankos paspaudimą naudoti.
Eksportuota eilutė tebėra duomenys. updated_at fiksuoja saugomų duomenų atnaujinimo laiką, ne gyvą užklausą iš jūsų tinklo. Pasirinktus taškus išbandykite ribota HTTP tarpinio serverio užklausa į reikiamą paskirtį. Jei nepavyko MCP iškvietimas, tirkite duomenų gavimą; jei vėliau nepavyko užklausa per eksportuotą tašką, tirkite tą atskirą tarpinio serverio ryšį.