Om út ProxyHub MCP ien IP:port per rigel te meitsjen, begjin mei it folsleine JSON-RPC-antwurd, net mei in tekstblok kopiearre út in petear.

  1. Rop list_proxies oan fia dyn MCP-kliïnt mei type ynsteld op http.
  2. Bewarje it folsleine antwurd as mcp-response.json.
  3. Bewarje de ûndersteande konverter, dy't de standertbibleteek brûkt, as mcp-to-file.py neist it antwurd.
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")

Fier him yn dy map út:

uv run --no-project python mcp-to-file.py

Kontrolearje it ôfprinte tal en http-proxies.txt. It oarspronklike antwurd bliuwt bewarre. JSON-RPC-flaters en isError-antwurden op ark-nivo jouwe flaters; in slagge antwurd sûnder treffers skriuwt in leech bestân en meldt nul. It ark jout oant 100 items per oprop, dus de útfier is de weromjûne seleksje, net needsaaklik de hiele HTTP-proxylist.

De konverter nimt allinnich rigen oan dy't as http rapportearre binne en kontrolearret IPv4-syntaksis en poarteberik, yn oerienstimming mei it IPv4-formaat fan de hjoeddeiske samler. Bewarje foar in oar protokol dy ynformaasje of brûk in apart bestân; in gewoan mingd IP:port-bestân fertelt de ûntfangende kliïnt net hokker hânskodding er brûke moat.

In eksportearre rige bliuwt gegevens. updated_at registrearret de bywurktiid fan opsleine gegevens, net in livefersyk út dyn netwurk. Test keazen einpunten mei in beheind fersyk fia in HTTP-proxy nei de nedige bestimming. Mislearre de MCP-oprop, ûndersykje dan it opheljen fan gegevens; mislearret letter in fersyk fia in eksportearre einpunt, ûndersykje dan dy aparte proxyferbining.

Relatearre artikelen