Tallenna ProxyHub MCP:n tulokset IP:Port-tiedostoksi
Lue list_proxies-kutsun JSON-vastaus, käsittele virheet ja tallenna siisti HTTP-välityspalvelintiedosto sekoittamatta tietoja reaaliaikaiseen testaukseen.
Kun haluat ProxyHub MCP:stä yhden IP:port-osoitteen riville, aloita täydestä JSON-RPC-vastauksesta, älä keskustelusta kopioidusta tekstilohkosta.
- Kutsu
list_proxiesMCP-asiakkaalla niin, ettätypeonhttp. - Tallenna koko vastaus nimellä
mcp-response.json. - Tallenna alla oleva standardikirjastoa käyttävä muunnin nimellä
mcp-to-file.pyvastauksen viereen.
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")
Suorita se siinä hakemistossa:
uv run --no-project python mcp-to-file.py
Tarkista tulostettu määrä ja http-proxies.txt. Alkuperäinen vastaus säilyy. JSON-RPC-virheet ja työkalutason isError-vastaukset nostavat virheen; onnistunut vastaus ilman osumia kirjoittaa tyhjän tiedoston ja ilmoittaa nollan. Työkalun raja on enintään 100 kohdetta kutsua kohti, joten tulos on palautettu valikoima, ei välttämättä koko HTTP-välityspalvelinluettelo.
Muunnin hyväksyy vain http-tyyppisiksi ilmoitetut rivit ja tarkistaa IPv4-syntaksin ja porttialueen nykyisen kerääjän IPv4-muodon mukaisesti. Säilytä muiden protokollien kohdalla tämä tieto tai käytä erillistä tiedostoa; pelkkä sekoitettu IP:port-tiedosto ei kerro vastaanottavalle asiakkaalle, mitä kättelyä sen pitää käyttää.
Viety rivi on yhä tietoa. updated_at tallentaa säilytettyjen tietojen päivitysajan, ei reaaliaikaista pyyntöä omasta verkostasi. Kokeile valittuja päätepisteitä rajatulla HTTP-välityspalvelinpyynnöllä tarvittavaan kohteeseen. Jos MCP-kutsu epäonnistui, tutki tiedonhakua; jos myöhempi pyyntö viedyn päätepisteen kautta epäonnistui, tutki kyseistä erillistä välityspalvelinyhteyttä.