مثال 55 پایتون – برنامه ای به پایتون بنویسید که آدرس های آی پی را با استفاده از stdlib پایتون پیدا کند.

مثال 55 پایتون – برنامه ای به پایتون بنویسید که آدرس آی پی را با استفاده از stdlib پایتون پیدا کند.

کد برنامه

توضیح کد

این کد به منظور دریافت IP دستگاه (در صورت وجود) ایجاد شده است. حالا بکارگیری متغیرها و نحوه کارکرد این کد را توضیح می‌دهیم:

  1. تابع get_ip ایجاد شده است تا IP دستگاه را برگرداند.
  2. در این تابع، ابتدا متغیر local_ips تعریف شده است. این متغیر حاوی IP‌های محلی (local IPs) است. برای این کار، از socket.gethostbyname_ex(socket.gethostname())[2] استفاده می‌شود. این دستور تمامی IP‌ های مربوط به دستگاه را از طریق نام دستگاه (hostname) به دست می‌آورد. سپس با استفاده از (list comprehensions)، IP‌هایی که با “127.” شروع نمی‌شوند، استخراج می‌شوند. تنها اولین آیتم این لیست ([:1]) در متغیر local_ips ذخیره می‌شود. اگر هیچ IP محلی وجود نداشته باشد، این متغیر خالی باقی می‌ماند.
  3. سپس متغیر public_ip ایجاد می‌شود. برای این کار، از یک اتصال UDP به آدرس 8.8.8.8 و درگاه 53 (از دامنه‌نامه Google) استفاده می‌شود. با این اتصال، IP عمومی دستگاه برای این اتصال UDP بدست می‌آید. مقدار این IP در متغیر public_ip ذخیره می‌شود.
  4. در نهایت، با چک کردن local_ips، اگر آن مقدار وجود داشته باشد، اولین IP محلی برگردانده می‌شود، در غیر این صورت public_ip (یعنی آخرین IP ایجاد شده) برگردانده می‌شود.
  5. در نهایت، تابع get_ip فراخوانی شده و IP دستگاه (در صورت وجود) چاپ می‌شود.

دیدگاه‌ خود را بنویسید

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