ProxyHub MCP sonuçlarını IP:Port dosyasına kaydetme
list_proxies JSON yanıtını okuyun, hataları işleyin ve verilerle canlı kontrolleri ayırarak temiz bir HTTP proxy dosyası kaydedin.
ProxyHub MCP’den her satırda bir IP:port üretmek için sohbetten kopyalanmış metin yerine tam JSON-RPC yanıtıyla başlayın.
- MCP istemcinizden
list_proxiesçağrısını,typedeğerinihttpyaparak çalıştırın. - Tam yanıtı
mcp-response.jsonolarak kaydedin. - Aşağıdaki standart kitaplığı kullanan dönüştürücüyü yanıtın yanına
mcp-to-file.pyadıyla kaydedin.
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")
O dizinde çalıştırın:
uv run --no-project python mcp-to-file.py
Yazdırılan sayıyı ve http-proxies.txt dosyasını kontrol edin. Özgün yanıt korunur. JSON-RPC hataları ve araç düzeyindeki isError yanıtları hata üretir; eşleşme içermeyen başarılı yanıt boş dosya yazar ve sıfır bildirir. Araç çağrı başına en fazla 100 kayıt döndürdüğünden çıktı, mutlaka tüm HTTP proxy listesi değil, o çağrıda dönen seçimdir.
Dönüştürücü yalnızca http olarak bildirilen satırları kabul eder; mevcut toplayıcının IPv4 biçimine uygun şekilde IPv4 sözdizimini ve port aralığını denetler. Başka bir protokol için bu bilgiyi koruyun veya ayrı dosya kullanın. Düz, karışık bir IP:port dosyası alan istemciye hangi el sıkışmasını kullanacağını söylemez.
Dışa aktarılan satır hâlâ veridir. updated_at, ağınızdan yapılan canlı bir isteği değil, saklanan verinin güncelleme zamanını kaydeder. Seçilen uç noktaları gereken hedefe sınırlandırılmış HTTP proxy isteğiyle test edin. MCP çağrısı başarısızsa veri alımını inceleyin; dışa aktarılan bir uç noktadan yapılan sonraki istek başarısızsa o ayrı proxy bağlantısını inceleyin.