Spremite rezultate ProxyHub MCP-a u datoteku IP:Port
Pročitajte JSON odgovor list_proxies, obradite pogreške i spremite čistu datoteku HTTP proxyja uz razlikovanje podataka od provjera uživo.
Za jedan IP:port po retku iz ProxyHub MCP-a počnite od potpunog odgovora JSON-RPC, a ne teksta kopiranog iz razgovora.
- Pozovite
list_proxieskroz MCP klijent stypepostavljenim nahttp. - Spremite potpuni odgovor kao
mcp-response.json. - Sljedeći pretvarač koji koristi standardnu biblioteku spremite kao
mcp-to-file.pyuz odgovor.
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")
Pokrenite ga u tom direktoriju:
uv run --no-project python mcp-to-file.py
Provjerite ispisani broj i http-proxies.txt. Izvorni odgovor ostaje sačuvan. Pogreške JSON-RPC i odgovori isError na razini alata uzrokuju pogreške; uspješan odgovor bez podudaranja zapisuje praznu datoteku i prijavljuje nulu. Ograničenje alata je do 100 zapisa po pozivu, pa izlaz predstavlja vraćeni odabir, ne nužno cijeli popis HTTP proxyja.
Pretvarač prihvaća samo retke prijavljene kao http te provjerava IPv4 sintaksu i raspon porta, u skladu s IPv4 formatom trenutačnog prikupljača. Za drugi protokol sačuvajte tu informaciju ili koristite zasebnu datoteku; obična miješana datoteka IP:port ne govori klijentu koji je prima koje rukovanje treba koristiti.
Izvezeni redak i dalje je podatak. updated_at bilježi vrijeme ažuriranja pohranjenih podataka, a ne zahtjev uživo iz vaše mreže. Testirajte odabrane točke ograničenim zahtjevom preko HTTP proxyja prema potrebnom odredištu. Ako je poziv MCP-a neuspješan, istražite dohvat podataka; ako kasniji zahtjev kroz izvezenu točku ne uspije, istražite tu zasebnu proxy vezu.