ProxyHub-MCP-Ergebnisse als IP:Port-Datei speichern
Lesen Sie die JSON-Antwort von list_proxies, behandeln Sie Fehler und speichern Sie eine saubere HTTP-Proxy-Datei. Datenexport und Live-Prüfung bleiben getrennt.
Um aus ProxyHub MCP eine Zeile je IP:port zu erzeugen, beginnen Sie mit der vollständigen JSON-RPC-Antwort statt mit einem kopierten Chat-Textblock.
- Rufen Sie
list_proxiesüber Ihren MCP-Client auf und setzen Sietypeaufhttp. - Speichern Sie die vollständige Antwort als
mcp-response.json. - Speichern Sie den folgenden Konverter auf Basis der Standardbibliothek als
mcp-to-file.pyneben der Antwort.
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ühren Sie ihn in diesem Verzeichnis aus:
uv run --no-project python mcp-to-file.py
Prüfen Sie die ausgegebene Anzahl und http-proxies.txt. Die ursprüngliche Antwort bleibt erhalten. JSON-RPC-Fehler und isError-Antworten auf Werkzeugebene lösen Fehler aus. Eine erfolgreiche Antwort ohne Treffer schreibt eine leere Datei und meldet null. Das Werkzeug liefert höchstens 100 Einträge je Aufruf; die Ausgabe entspricht dieser Auswahl und nicht zwingend der ganzen HTTP-Proxy-Liste.
Der Konverter akzeptiert nur als http gemeldete Zeilen und prüft IPv4-Syntax und Portbereich, passend zum IPv4-Format des aktuellen Sammlers. Bewahren Sie bei anderen Protokollen diese Information auf oder nutzen Sie eine eigene Datei. Eine bloße gemischte IP:port-Datei sagt dem empfangenden Client nicht, welchen Handshake er verwenden soll.
Eine exportierte Zeile bleibt ein Datensatz. updated_at erfasst den Aktualisierungszeitpunkt gespeicherter Daten, keine Live-Anfrage aus Ihrem Netzwerk. Prüfen Sie ausgewählte Endpunkte mit einer begrenzten HTTP-Proxy-Anfrage an das benötigte Ziel. Ist der MCP-Aufruf gescheitert, untersuchen Sie den Datenabruf. Scheitert später eine Anfrage über einen exportierten Endpunkt, untersuchen Sie diese separate Proxy-Verbindung.