ProxyHub-MCP-Resultater als IP:Port-Datei späicheren
Liest d’JSON-Äntwert vu list_proxies, behandelt Feeler a späichert eng propper HTTP-Proxy-Datei, ouni Daten a Live-Tester ze vermëschen.
Fir aus ProxyHub MCP een IP:port pro Zeil ze kréien, fänkt mat der kompletter JSON-RPC-Äntwert un, net mat engem Textblock aus engem Chat.
- Rufft
list_proxiesiwwer Ären MCP-Client op, mattypeophttpgesat. - Späichert déi komplett Äntwert als
mcp-response.json. - Späichert de folgende Konverter, dee mat der Standardbibliothéik schafft, als
mcp-to-file.pynieft der Äntwert.
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")
Féiert en an deem Dossier aus:
uv run --no-project python mcp-to-file.py
Kontrolléiert déi ausgegeben Zuel an http-proxies.txt. Déi ursprénglech Äntwert bleift erhalen. JSON-RPC-Feeler an isError-Äntwerten um Tool-Niveau léise Feeler aus; eng erfollegräich Äntwert ouni Treffer schreift eng eidel Datei a mellt null. D’Limit vum Tool ass bis zu 100 Entréeë pro Opruff. D’Ausgab ass also déi zeréckginn Auswiel, net onbedéngt déi ganz HTTP-Proxy-Lëscht.
De Konverter acceptéiert nëmmen Zeilen, déi als http gemellt sinn, a kontrolléiert IPv4-Syntax a Portberäich, passend zum IPv4-Format vum aktuelle Sammler. Fir en anere Protokoll haalt dës Informatioun oder benotzt eng separat Datei; eng einfach gemëschten IP:port-Datei seet dem empfaangende Client net, wéi en Handshake e benotze soll.
Eng exportéiert Zeil ass weiderhin eng Donnée. updated_at notéiert den Aktualiséierungszäitpunkt vun de gespäicherten Daten, keng Live-Ufro aus Ärem Netzwierk. Test déi gewielten Endpunkte mat enger begrenzter HTTP-Proxy-Ufro un dat néidegt Zil. Ass de MCP-Opruff gescheitert, ënnersicht den Datenofruff; scheitert méi spéit eng Ufro iwwer en exportéierten Endpunkt, ënnersicht déi separat Proxy-Verbindung.