ProxyHub MCP-eredmények mentése IP:Port-fájlba
Olvassa be a list_proxies JSON-válaszát, kezelje a hibákat, és mentsen tiszta HTTP-proxyfájlt, elkülönítve az adatokat az élő ellenőrzéstől.
Ha a ProxyHub MCP eredményéből soronként egy IP:port értéket szeretne, a teljes JSON-RPC-válaszból induljon ki, ne a csevegésből másolt szövegblokkból.
- Hívja meg a
list_proxieseszközt az MCP-kliensből úgy, hogy atypeértékehttplegyen. - Mentse a teljes választ
mcp-response.jsonnéven. - Mentse az alábbi, szabványos könyvtárat használó átalakítót
mcp-to-file.pynéven a válasz mellé.
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")
Futtassa abban a könyvtárban:
uv run --no-project python mcp-to-file.py
Ellenőrizze a kiírt darabszámot és a http-proxies.txt fájlt. Az eredeti válasz megmarad. A JSON-RPC-hibák és az eszközszintű isError válaszok hibát váltanak ki; egy találat nélküli sikeres válasz üres fájlt ír és nullát jelez. Az eszköz legfeljebb 100 elemet ad vissza hívásonként, így a kimenet az adott visszakapott válogatás, nem feltétlenül a teljes HTTP-proxylista.
Az átalakító csak a http típusként jelentett sorokat fogadja el, és ellenőrzi az IPv4 szintaxisát és a port tartományát, a jelenlegi gyűjtő IPv4-formátumának megfelelően. Más protokollnál őrizze meg ezt az információt vagy használjon külön fájlt; egy egyszerű, vegyes IP:port-fájl nem mondja meg a fogadó kliensnek, milyen kézfogást használjon.
Az exportált sor továbbra is adat. Az updated_at a tárolt adatok frissítési idejét rögzíti, nem a saját hálózatából küldött élő kérést. Tesztelje a kiválasztott végpontokat korlátozott HTTP-proxykéréssel a szükséges cél felé. Ha az MCP-hívás hibázott, az adatlekérést vizsgálja; ha később egy exportált végponton át küldött kérés hibázik, azt a külön proxykapcsolatot vizsgálja.