Cadw canlyniadau ProxyHub MCP fel ffeil IP:Port
Darllenwch ymateb JSON list_proxies, ymdriniwch â gwallau a chadwch ffeil ddirprwyon HTTP lân, gan wahaniaethu rhwng data a phrofion byw.
I gynhyrchu un IP:port ym mhob llinell o ProxyHub MCP, dechreuwch gyda'r ymateb JSON-RPC cyflawn, nid bloc testun wedi'i gopïo o sgwrs.
- Galwch
list_proxiesdrwy'ch cleient MCP gydatypewedi'i osod ihttp. - Cadwch yr ymateb cyflawn fel
mcp-response.json. - Cadwch y trawsnewidydd canlynol, sy'n defnyddio'r llyfrgell safonol, fel
mcp-to-file.pywrth ochr yr ymateb.
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")
Rhedwch ef yn y cyfeiriadur hwnnw:
uv run --no-project python mcp-to-file.py
Gwiriwch y cyfrif a argraffwyd a http-proxies.txt. Cedwir yr ymateb gwreiddiol. Mae gwallau JSON-RPC ac ymatebion isError ar lefel yr offeryn yn codi gwallau; mae ymateb llwyddiannus heb gyfatebiadau yn ysgrifennu ffeil wag ac yn adrodd sero. Terfyn yr offeryn yw hyd at 100 cofnod fesul galwad, felly'r dewis a ddychwelwyd sydd yn yr allbwn, nid o reidrwydd yr holl restr ddirprwyon HTTP.
Dim ond rhesi a adroddir fel http y mae'r trawsnewidydd yn eu derbyn, ac mae'n gwirio cystrawen IPv4 ac ystod y porth, yn unol â fformat IPv4 y casglwr presennol. Ar gyfer protocol arall, cadwch y wybodaeth honno neu defnyddiwch ffeil ar wahân; ni all ffeil IP:port gymysg syml ddweud wrth y cleient sy'n ei derbyn pa ysgwyd llaw i'w ddefnyddio.
Data yw rhes a allforiwyd o hyd. Mae updated_at yn cofnodi amser diweddaru'r data a storiwyd, nid cais byw o'ch rhwydwaith. Profwch y pen pwyntiau a ddewiswyd gyda chais dirprwy HTTP â therfynau at y gyrchfan sydd ei hangen. Os methodd yr alwad MCP, ymchwiliwch i adalw data; os metha cais diweddarach drwy ben pwynt a allforiwyd, ymchwiliwch i'r cysylltiad dirprwy ar wahân hwnnw.