اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

هنالك عدة طرق للحصول على IP محلي عن طريق البايثون فعلى سبيل المثال يمكنك استخدام تابع gethostbyname من مكتبة socket كما في المثال التالي:

import socket
socket.gethostbyname(socket.gethostname())

هذا الأمر قد لا يعمل دائما، فهو يرجع 127.0.0.1 في الأجهزة التي لديها hostname ذات عنوان 127.0.0.1 في /etc/hosts.
هنالك حل آخر إلا أنّه يفترض وجود إتصال بالإنترنت بدون بروكسي محلي، وهو عن طريق استخدام تابع getsockname من مكتبة socket كما في هذا المثال:

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("gmail.com",80))
print(s.getsockname()[0])
s.close()

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...