سؤال

كيف يمكنني العثور على IP المواجه للعامة لشبكتي في Python؟

هل كانت مفيدة؟

المحلول

وهذا سوف تجلب عنوان IP الخاص بك عن بعد

import urllib
ip = urllib.urlopen('http://automation.whatismyip.com/n09230945.asp').read()

إذا كنت لا تريد أن تعتمد على شخص آخر، وبعد ذلك فقط تحميل شيء من هذا القبيل النصي PHP:

<?php echo $_SERVER['REMOTE_ADDR']; ?>

ووتغيير URL في بيثون أو إذا كنت تفضل ASP:

<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
%>

ملحوظة: أنا لا أعرف ASP، لكني أحسب أنه قد يكون من المفيد أن يكون هنا حتى أنا googled

نصائح أخرى

وwhatismyip.org هو أفضل ... وقذفات لتوه الملكية الفكرية كما نص عادي مع أي حماقة غريبة.

import urllib
ip = urllib.urlopen('http://whatismyip.org').read()

ولكن نعم، أنه من المستحيل أن تفعل ذلك بسهولة دون الاعتماد على شيء خارج الشبكة نفسها.

https://api.ipify.org/؟format=json مستقيم جدا إلى الأمام

ويمكن تحليل فقط عن طريق تشغيل requests.get("https://api.ipify.org/?format=json").json()['ip']

إذا كنت لا تمانع في استخدام الشتائم، فحاول:

http://wtfismyip.com/json

اربطها بأشياء urllib المعتادة كما أظهر الآخرون.

هناك ايضا:

http://www.networksecuritytoolkit.org/nst/tools/ip.php

import urllib2
text = urllib2.urlopen('http://www.whatismyip.org').read()
urlRE=re.findall('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}',text)
urlRE        

['146.148.123.123']

ومحاولة وضع كل ما "findmyipsite" يمكنك أن تجد في قائمة وبالتكرار من خلالها للمقارنة. هذا واحد يبدو للعمل بشكل جيد.

import requests
r = requests.get(r'http://jsonip.com')
# r = requests.get(r'https://ifconfig.co/json')
ip= r.json()['ip']
print('Your IP is {}'.format(ip))

المرجعي

وهذا هو بسيط ك

>>> import urllib
>>> urllib.urlopen('http://icanhazip.com/').read().strip('\n')
'xx.xx.xx.xx'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top