ProxyHub MCP нәтижелерін IP:Port файлына сақтау
list_proxies JSON жауабын оқып, қателерді өңдеңіз және деректерді нақты уақыттағы тексеруден ажыратып, таза HTTP прокси файлын сақтаңыз.
ProxyHub MCP-ден әр жолда бір IP:port алу үшін чаттан көшірілген мәтіннен емес, толық JSON-RPC жауабынан бастаңыз.
- MCP клиенті арқылы
list_proxiesшақырып,typeмәнінhttpетіп орнатыңыз. - Толық жауапты
mcp-response.jsonретінде сақтаңыз. - Төмендегі стандартты кітапхананы пайдаланатын түрлендіргішті жауаптың қасына
mcp-to-file.pyретінде сақтаңыз.
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")
Сол каталогта іске қосыңыз:
uv run --no-project python mcp-to-file.py
Басып шығарылған санды және http-proxies.txt файлын тексеріңіз. Бастапқы жауап сақталады. JSON-RPC қателері мен құрал деңгейіндегі isError жауаптары қате туғызады; сәйкес жазбасы жоқ сәтті жауап бос файл жазып, нөлді хабарлайды. Құрал шегі — бір шақыруда 100 жазбаға дейін, сондықтан шығыс қайтарылған таңдама, міндетті түрде бүкіл HTTP прокси тізімі емес.
Түрлендіргіш тек http деп көрсетілген жолдарды қабылдап, қазіргі жинағыштың IPv4 форматына сай IPv4 синтаксисі мен порт ауқымын тексереді. Өзге протокол үшін сол ақпаратты сақтаңыз немесе бөлек файл қолданыңыз; қарапайым аралас IP:port файлы оны қабылдайтын клиентке қай қол алысуды қолдану керегін айтпайды.
Экспортталған жол әлі де дерек. updated_at сақталған деректің жаңару уақытын жазады, сіздің желіңізден нақты уақыттағы сұрауды емес. Таңдалған нүктелерді керек мақсатқа шектеулі HTTP прокси сұрауымен сынаңыз. MCP шақыруы сәтсіз болса, дерек алуды зерттеңіз; кейін экспортталған нүкте арқылы сұрау сәтсіз болса, сол бөлек прокси қосылымын зерттеңіз.