در این راهنما یاد میگیرید
- ساخت API Token از داخل حساب cPanel و تعیین تاریخ انقضا
- نگهداری خصوصی کلید و آزمایش یک درخواست خواندنی
- لغو توکن و بررسی خطاهای رایج اتصال
۱. کلید API در cPanel چیست؟
وقتی میخواهید یک برنامه اطلاعات هاست را دریافت کند یا کاری را در حساب شما انجام دهد، API راه ارتباط برنامه با پنل است. «کلید API» در این آموزش همان API Token سیپنل است؛ برنامه آن را هنگام درخواست ارسال میکند و لازم نیست هر بار وارد محیط گرافیکی پنل شوید.
این راهنما برای حساب معمولی cPanel است. اگر صفحهٔ WHM را باز کردهاید، ابتدا وارد cPanel سرویس خود شوید؛ توکن این دو پنل را جای یکدیگر استفاده نکنید.
۲. ورود به پنل و پیدا کردن API Tokens
cPanel پنل مدیریت هاست شماست؛ فایلها، دیتابیس و ترمینال را از همین صفحه مدیریت میکنید. برای ورود، اطلاعات سرویس فعال خود را آماده داشته باشید.
- وارد ناحیهٔ کاربری پایتون هاست شوید؛ از حسابی استفاده کنید که هاست را با آن تهیه کردهاید.
- در بخش سرویسها، هاست فعال خود را باز کنید و گزینهٔ ورود به cPanel را بزنید. اگر لینک ورود مستقیم ندارید، از آدرس و اطلاعات ورودِ پیام فعالسازی سرویس استفاده کنید.
- پس از ورود، صفحهٔ اصلی cPanel را میبینید. نام ابزار موردنیاز، مثل
File ManagerیاTerminalرا در کادر جستوجوی پنل بنویسید.
نام کاربری cPanel را از اطلاعات سرویس پیدا کنید. هر جا در فرمانها USERNAME دیدید، همین نام را جایگزین کنید؛ این مقدار، ایمیل یا نام نمایشی حساب شما نیست.
در کادر جستوجوی پنل، API Tokens را بنویسید. سپس ابزار Manage API Tokens را از بخش Security باز کنید.
اگر این ابزار نمایش داده نمیشود، از پشتیبانی هاست دربارهٔ فعالبودن آن برای سرویس خود بپرسید. دسترسی این بخش را ارائهدهندهٔ هاست تنظیم میکند.
۳. ساخت توکن و تعیین تاریخ انقضا
- روی Create بزنید.
- در API Token Name نامی مشخص مانند
pythonhost-monitorوارد کنید. نام باید یکتا، حداکثر ۵۰ کاراکتر و شامل حروف انگلیسی، عدد، خط تیره یا زیرخط باشد. - در Should the API Token Expire? گزینهٔ Specify an expiration date را انتخاب و تاریخ پایان استفاده را مشخص کنید. قالب ورود دستی تاریخ
YYYY-MM-DDاست. - با Create توکن را بسازید.
تاریخ انقضا بعد از ساخت قابل ویرایش نیست. برای تغییر آن، توکن تازه بسازید و تنظیمات برنامه را بهروز کنید. زمان پایان اعتبار بر اساس ساعت سرور محاسبه میشود.
۴. کپی و نگهداری کلید
در صفحهٔ نتیجه، Copy را بزنید و مقدار توکن را در محل امن ذخیره کنید؛ سپس Yes, I Saved My Token را انتخاب کنید. با خروج از این صفحه، مقدار توکن دوباره قابل مشاهده نیست.
برای هر برنامه نام جداگانهای انتخاب کنید تا بعداً بتوانید توکن همان برنامه را شناسایی و لغو کنید. پیش از بستن صفحه مطمئن شوید مقدار را کامل کپی کردهاید؛ نام توکن، خودِ کلید نیست.
توکن را مانند رمز حساب نگه دارید. آن را در کد سمت مرورگر، متغیرهای VITE_*، فایلهای عمومی سایت، مخزن Git، عکس پنل یا پیام پشتیبانی قرار ندهید. برنامهٔ سروری باید مقدار را از تنظیمات خصوصی محیط اجرا بخواند.
۵. یک نمونهٔ استفاده با پایتون
برای یک آزمایش خواندنی میتوانید فهرست دامنههای حساب را از DomainInfo/list_domains بگیرید. این درخواست دامنهای ایجاد یا حذف نمیکند. آدرس باید مربوط به سرور cPanel باشد؛ آدرس پنل مشتریان یا یک صفحهٔ ورود، جای آن را نمیگیرد.
سه متغیر CPANEL_SERVER، CPANEL_USERNAME و CPANEL_API_TOKEN را در محیط اجرای خصوصی برنامه تنظیم کنید. برای اولی، آدرس HTTPS سرور مانند https://server.example.com:2083 را از اطلاعات سرویس بردارید. نام کاربری، همان نام حساب cPanel است.
import json
import os
from urllib.request import Request, urlopen
server = os.environ["CPANEL_SERVER"].rstrip("/")
username = os.environ["CPANEL_USERNAME"]
token = os.environ["CPANEL_API_TOKEN"]
if not server.startswith("https://"):
raise ValueError("CPANEL_SERVER must use HTTPS")
request = Request(
f"{server}/execute/DomainInfo/list_domains",
headers={"Authorization": f"cpanel {username}:{token}"},
)
with urlopen(request, timeout=15) as response:
result = json.load(response)["result"]
if result["status"] != 1:
raise RuntimeError(result.get("errors") or "cPanel API request failed")
print(json.dumps(result["data"], ensure_ascii=False, indent=2))
نمونه از کتابخانههای استاندارد پایتون استفاده میکند. هدر احراز هویت به شکل Authorization: cpanel USERNAME:TOKEN ارسال میشود؛ توکن را در URL قرار ندهید. موفقیت UAPI را با result.status بررسی کنید؛ مقدار 1 نشانهٔ موفقیت است. دریافت HTTP 200 بهتنهایی کافی نیست.
اگر خطای گواهی TLS دیدید، نام میزبان و گواهی سرور را بررسی کنید. اعتبارسنجی HTTPS را برای عبور از خطا خاموش نکنید. برای آمادهکردن محیط برنامه، آموزش اجرای Flask روی cPanel هم میتواند کمک کند.
۶. لغو یا جایگزینی توکن
در Manage API Tokens، روبهروی توکن موردنظر Manage را بزنید؛ سپس Revoke و Yes, Revoke the Token را انتخاب کنید. برنامهٔ استفادهکننده بعد از لغو باید با توکن دیگری تنظیم شود.
توکن منقضیشده خودکار از فهرست حذف نمیشود. اگر کلید گم شد یا احتمال افشای آن وجود دارد، همان توکن را لغو و کلید جدیدی ایجاد کنید.
۷. پرسشها و رفع خطا
چرا گزینهٔ Manage API Tokens را نمیبینم؟
ممکن است برای حساب شما فعال نباشد. از پشتیبانی بخواهید دسترسی این ابزار را در تنظیمات سرویس بررسی کند.
خطای 401 یا ورود ناموفق را چگونه بررسی کنم؟
نام کاربری cPanel، آدرس سرور، کاملبودن توکن و معتبرماندن آن را بررسی کنید. ساختار هدر باید شامل عبارت cpanel، نام کاربری، علامت دو نقطه و مقدار کلید باشد. اطلاعات محرمانه را همراه گزارش خطا ارسال نکنید.
آیا توکن فقط اجازهٔ مشاهده دارد؟
خواندنیبودن نمونهٔ بالا به معنی محدودبودن دسترسی خودِ توکن نیست؛ API میتواند دادهٔ حساب را تغییر دهد. کلید را فقط در اختیار برنامه یا فرد مورداعتماد قرار دهید و دسترسی ابزارهای حساب را با ارائهدهندهٔ سرویس بررسی کنید.
آیا میتوانم کلید را در برنامهٔ Vue یا React قرار دهم؟
کد و تنظیمات سمت مرورگر برای کاربر قابل دریافتاند. درخواست cPanel را در برنامهٔ سروری انجام دهید و کلید را در محیط خصوصی همان برنامه نگه دارید.
منابع رسمی و ادامهٔ مطالعه
- ساخت و مدیریت API Token در cPanel
- استفاده از توکن و ساختار احراز هویت
- مرجع UAPI برای دریافت فهرست دامنهها
عنوان گزینهها ممکن است با نسخه یا زبان پنل کمی متفاوت باشد. اگر برای سرویس خود به راهنمایی نیاز دارید، از پشتیبانی پایتون هاست کمک بگیرید.