Whois دامنه در php

  • آپدیت شده در تاریخ

Whois دامنه در php

اسکریپت ساده ای برای گرفتن whois دامنه در php آماده کرده ایم که درک و کار با آن بسیار آسان است . می توانید قابلیت های پیچیده دیگری هم به آن اضافه کنید. در این اسکریپت از یک سرور که whois دامنه های .com را می دهد استفاده کردیم.

می توانید از whois سرور های دیگه هم استفاده کنید که لیست آن را در اخر این مقاله آورده ایم

برای گرفتن whois دامنه در php نیاز است که اطلاعاتی شامل نام دامنه و پورت سرور را ارسال کنیم .

سه متغییر برای دامنه ، سرور whois و شماره پورت تعریف می کنیم . شماره پورت ۴۳ است . از این پورت برای تمامی whois سرور ها استفاده کنید.

تعریف متغییر

من از دامنه .com استفاده می کنم ، پس فقط از یک whois سرور بهره می برم.

گرفتن اطلاعات دامنه از whois

اول از همه ، با تابع fsockopen به سرور متصل می شویم ، در صورت اتصال موفقیت آمیز به سرور ، اطلاعات whois دامنه را دریافت می کنیم. بعد از آن این داده ها را داخل یک متغییر ذخیره می کنیم .

با استفاده از این متغییر می توانیم اطلاعات Whois دامنه در php را چاپ کنیم و به کاربر نشان بدیم.

نمایش خروجی در صفحه

با استفاده از تگ <pre> اطلاعات را در فرمت صحیح نمایش میدیم. اگر از این تگ استفاده نکنیم خروجی ما به صورت ناخوانا در صفحه چاپ می شود.

گرفتن نام دامنه با استفاده از فرم

برای راحتی و ساده تر شدن کار اسکریپت ما نام دامنه و پسوند را از طریق ورودی کاربر دریافت می کنیم.

افزودن فرم جستجو دامنه به HTML

کد های html زیر را به فایل php خود اضافه کنید . با افزودن این کدها ما ورودی دامنه را از طریق input هایی که اضافه کردیم دریافت و به متغییر دامنه در فایل php پاس میدیم .برای اینکار باید تغییراتی در فایل php انجام بدیم.

ویرایش کد php

به جای مقدار دستی $domainname از $_POST[‘domain’] استفاده می کنیم.

و در آخر بعد از فرم کد زیر را برای نمایش خروجی اضافه می کنیم

لیست چند whois سرور برای پسوند های مختلف دامنه

TLD Type Country WHOIS Server
com whois.crsnic.net
net whois.crsnic.net
org whois.pir.org
edu whois.crsnic.net
biz whois.neulevel.biz
info whois.afilias.info

هرگونه مشکلی در پیاده سازی این اسکریپت داشتید لطفا در بخش نظرات ارسال کنید

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۷)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. مسعود ۶ آذر ۱۳۹۷

    ممنون اما اون چیزی که میخواستم نیست
    راستی چرا این صفحاتت دچار مشکله وقتی باز میکنیم درهم برهم نمایش میده
    http://netparadis.com/extract-webpage-urls-php/
    http://netparadis.com/telegram-bot/

    پاسخ
    1. حسن شفیعی ۶ آذر ۱۳۹۷

      به خاطر http است که اوکی شد

      پاسخ
  2. مسعود ۵ آذر ۱۳۹۷

    میشه کمک کنید میخواهم فقط تاریخ انقضا یا namespaceها را نشان بده
    اینا فقط عدد ۱ رو نمایش میده می خوام متنی که نووشته رو نمایش بده

    پاسخ
    1. حسن شفیعی ۶ آذر ۱۳۹۷

      سلام. اینکار با regex کمی چالش داره و نیاز به زمان است . بنابراین راه آسانتری که میتونید استفاده کنید api هست که میتونید از سرویس زیر بهره ببرید که تمام بخش هایی که نیاز دارید را بصورت جداگانه برای شما در فرمت json برگشت می دهد و میتونید بهره ببرید
      https://freedomainapi.com/free-whois-api.html

      در این خروجی json کلید های nameservers و date_expires همان مواردی هستند که میخواهید.

      برای واکشی json و ارسال درخواست به این آدرس با php و دریافت خروجی json و نمایش آن میتونید از آموزش استفاده کنید
      https://netparadis.com/post-json-data-using-php-curl

      موفق باشید.

      پاسخ
  3. مسعود ۵ آذر ۱۳۹۷

    نمیشه یک مثال ساده بزنید؟
    منظور هر فیلدی را میشه ایطوری گرفت

    پاسخ
  4. مسعود ۵ آذر ۱۳۹۷

    با سلام
    اگر خواستیم بگیم فقط name serverها رو نمایش بده چیکار کنیم

    پاسخ
    1. حسن شفیعی ۵ آذر ۱۳۹۷

      سلام . در اینصورت نیازه که خودتون رشته برگشتی رو با توابع کاربردی مثل preg_match یا همان استفاده از regex قسمت دلخواه رو دریافت کنید.
      موفق باشید.

      پاسخ
دوره های آموزشی