Kutengeneza IP:port moja kwa kila mstari kutoka ProxyHub MCP, anza na jibu kamili la JSON-RPC, si kipande cha maandishi kilichonakiliwa kutoka kwenye mazungumzo.

  1. Ita list_proxies kupitia mteja wako wa MCP huku type ikiwa http.
  2. Hifadhi jibu kamili kama mcp-response.json.
  3. Hifadhi kibadilishaji kifuatacho kinachotumia maktaba ya kawaida kama mcp-to-file.py karibu na jibu hilo.
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")

Kiendeshe katika saraka hiyo:

uv run --no-project python mcp-to-file.py

Kagua idadi iliyochapishwa na http-proxies.txt. Jibu la asili linabaki. Hitilafu za JSON-RPC na majibu ya isError katika ngazi ya zana husababisha hitilafu; jibu lililofaulu bila rekodi zinazolingana huandika faili tupu na kuripoti sifuri. Kikomo cha zana ni hadi rekodi 100 kwa kila mwito, kwa hiyo tokeo ni uteuzi uliorudishwa, si lazima orodha yote ya proksi za HTTP.

Kibadilishaji kinakubali tu mistari iliyoripotiwa kama http na kukagua sintaksia ya IPv4 na masafa ya porti, kulingana na muundo wa IPv4 wa mkusanyaji wa sasa. Kwa itifaki nyingine, hifadhi taarifa hiyo au tumia faili tofauti; faili la kawaida la IP:port lililochanganywa haliambii mteja anayelipokea aina ya makubaliano ya mwanzo ya kutumia.

Mstari uliohamishwa bado ni data. updated_at hurekodi wakati wa kusasishwa kwa data iliyohifadhiwa, si ombi la moja kwa moja kutoka mtandao wako. Jaribu sehemu zilizochaguliwa kwa ombi lenye mipaka kupitia proksi ya HTTP kwenda lengwa unalohitaji. Mwito wa MCP ukishindwa, chunguza uchukuaji wa data; ombi la baadaye kupitia sehemu iliyohamishwa likishindwa, chunguza muunganisho huo tofauti wa proksi.

Makala zinazohusiana