Shranite rezultate ProxyHub MCP v datoteko IP:Port
Preberite odgovor JSON orodja list_proxies, obravnavajte napake in shranite urejeno datoteko HTTP posrednikov, ne da bi podatke zamenjali z živimi preverjanji.
Za en IP:port na vrstico iz ProxyHub MCP začnite s celotnim odgovorom JSON-RPC, ne z besedilom, kopiranim iz klepeta.
- Prek odjemalca MCP pokličite
list_proxiesztypenastavljenim nahttp. - Celoten odgovor shranite kot
mcp-response.json. - Spodnji pretvornik, ki uporablja standardno knjižnico, shranite kot
mcp-to-file.pyob odgovoru.
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")
Zaženite ga v tem imeniku:
uv run --no-project python mcp-to-file.py
Preverite izpisano število in http-proxies.txt. Izvirni odgovor ostane shranjen. Napake JSON-RPC in odgovori isError na ravni orodja sprožijo napake; uspešen odgovor brez zadetkov zapiše prazno datoteko in poroča nič. Omejitev orodja je do 100 zapisov na klic, zato izhod predstavlja vrnjeni izbor, ne nujno celotnega seznama HTTP posrednikov.
Pretvornik sprejme samo vrstice, označene kot http, in preveri skladnjo IPv4 ter obseg vrat, skladno z obliko IPv4 trenutnega zbiralnika. Za drug protokol ohranite ta podatek ali uporabite ločeno datoteko; preprosta mešana datoteka IP:port prejemnemu odjemalcu ne pove, katero rokovanje naj uporabi.
Izvožena vrstica je še vedno podatek. updated_at beleži čas posodobitve shranjenih podatkov, ne žive zahteve iz vašega omrežja. Izbrane točke preizkusite z omejeno zahtevo prek HTTP posrednika do potrebnega cilja. Če je odpovedal klic MCP, preučite pridobivanje podatkov; če pozneje odpove zahteva prek izvožene točke, preučite to ločeno povezavo posrednika.