Պահպանեք 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 կանչն է ձախողվել, ուսումնասիրեք տվյալների ստացումը։ Եթե հետագայում արտահանված վերջնակետով հարցումն է ձախողվել, ուսումնասիրեք այդ առանձին պրոքսի կապը։