Por produkti po unu IP:port en ĉiu linio el ProxyHub MCP, komencu per la kompleta JSON-RPC-respondo, ne per teksto kopiita el babilado.

  1. Voku list_proxies per via MCP-kliento kun type agordita al http.
  2. Konservu la kompletan respondon kiel mcp-response.json.
  3. Konservu la sekvan konvertilon, kiu uzas la norman bibliotekon, kiel mcp-to-file.py apud la respondo.
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")

Rulu ĝin en tiu dosierujo:

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

Kontrolu la presitan nombron kaj http-proxies.txt. La originala respondo restas konservita. JSON-RPC-eraroj kaj ilnivelaj isError-respondoj kaŭzas erarojn; sukcesa respondo sen kongruoj skribas malplenan dosieron kaj raportas nulon. La ilo limigas ĝis 100 erojn por voko, do la eligo estas tiu redonita elekto, ne nepre la tuta listo de HTTP-prokuriloj.

La konvertilo akceptas nur vicojn raportitajn kiel http kaj kontrolas IPv4-sintakson kaj pordan intervalon, kongrue kun la IPv4-formato de la nuna kolektilo. Por alia protokolo konservu tiun informon aŭ uzu apartan dosieron; simpla miksita IP:port-dosiero ne diras al la ricevanta kliento, kiun manpremon uzi.

Eksportita vico ankoraŭ estas datumoj. updated_at registras la ĝisdatigan tempon de konservitaj datumoj, ne rektan peton el via reto. Testu elektitajn finpunktojn per limigita HTTP-prokurila peto al la bezonata celo. Se la MCP-voko malsukcesis, esploru datumakiradon; se posta peto tra eksportita finpunkto malsukcesis, esploru tiun apartan prokurilan konekton.

Rilataj artikoloj