Getting a machine's external IP address with Python

machine learning
machine learning tutorial
machine learning algorithms
machine learning course
machine learning examples
machine learning python
deep learning
machine learning introduction

Looking for a better way to get a machines current external IP #... Below works, but would rather not rely on an outside site to gather the information ... I am restricted to using standard Python 2.5.1 libraries bundled with Mac OS X 10.5.x

import os
import urllib2

def check_in():

    fqn = os.uname()[1]
    ext_ip = urllib2.urlopen('').read()
    print ("Asset: %s " % fqn, "Checking in from IP#: %s " % ext_ip)

If you are behind a router which obtains the external IP, I'm afraid you have no other option but to use external service like you do. If the router itself has some query interface, you can use it, but the solution will be very environment-specific and unreliable.

What is Machine Learning? A definition, focuses on the development of computer programs that can access data and use it learn for themselves. Acquiring a Machine Learning Job 1. Look for machine learning jobs online. You can find current job openings on classified websites like ZipRecruiter, 2. Write a resume that highlights your machine learning skills. When creating a resume for a machine learning position, 3. Create a

I liked the They even provide Python code for using their API.

# This example requires the requests library be installed.  You can learn more
# about the Requests library here:

from requests import get

ip = get('').text
print 'My public IP address is:', ip

Machine Learning by Stanford University, Learn Machine Learning from Stanford University. Machine learning is the science of getting computers to act without being explicitly programmed. In the past  The Get-ADComputer cmdlet gets a computer or performs a search to retrieve multiple computers. The Identity parameter specifies the Active Directory computer to retrieve. You can identify a computer by its distinguished name, GUID, security identifier (SID) or Security Accounts Manager (SAM) account name.

Python3, using nothing else but the standard library

As mentioned before, one can use an external service like in order to discover the external IP address of your router.

Here is how it is done with python3, using nothing else but the standard library:

import urllib.request

external_ip = urllib.request.urlopen('').read().decode('utf8')


Machine Learning: What it is and why it matters, Get in-depth instruction and free access to SAS Software to build your machine learning skills. Courses include: 14 hours of course time, 90 days free software  Get a Pepsi vending machine for your business for free. Installation, stocking, and maintenance all included at no charge. Contact Vending Group today.

You should use the UPnP protocol to query your router for this information. Most importantly, this does not rely on an external service, which all the other answers to this question seem to suggest.

There's a Python library called miniupnp which can do this, see e.g. miniupnpc/

pip install miniupnpc

Based on their example you should be able to do something like this:

import miniupnpc

u = miniupnpc.UPnP()
u.discoverdelay = 200
print('external ip address: {}'.format(u.externalipaddress()))

What is Machine Learning?, How We Get Machines to Learn. There are different approaches to getting machines to learn, from using basic decision trees to clustering to  Consider getting a CPAP machine with a variable warming humidifier.This helps a great deal if you have sinus issues; the extra moisture may make the blowing air less irritating.

I prefer this Amazon AWS endpoint:

import requests
ip = requests.get('').text.strip()

Machine Learning Is Getting Easier. Software Engineering Is Still Hard, Machine Learning Is Getting Easier. Software Engineering Is Still Hard. Why that's good for software engineers and bad for ML engineers. Postage Meters We make it easy to send mail, overnights and packages from your office or mail center. Streamline all of your office sending. Plus, save on mailing and shipping costs with USPS ®, FedEx ® and UPS ®.

Machine Learning for Beginners: A Complete Guide for Getting , Machine Learning for Beginners: A Complete Guide for Getting Started with Machine Learning eBook: Dorsey, Richie: Kindle Store. Either make your machine gun or purchase a machine gun (depends on the type of FFL you get). If you made it, submit an ATF Form 2 after it is made (no pre-approval required!). If you bought it, you must have an ATF Form 3 approved first (it should take less than 6 weeks and you don’t have to pay a transfer tax)

Getting started with Machine Learning, Getting started with Machine Learning. This article discusses the categories of machine learning problems, and terminologies used in the field of machine  CPAP Assistance Program Please note the following updates to our CPAP Assistance Program With the COVID-19 virus pandemic and the suspension of our gently used donation program, we are no longer accepting applications for PAP machines for the foreseeable future.

Teachable Machine, A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required. Get Started  Virtual machines are isolated containers, so the guest operating system in the virtual machine doesn’t have access to your computer’s file system. You’ll have to set up shared folders in a program like VirtualBox or VMware to share files.

  • related: Discovering public IP programatically
  • Yes, agree. Those Cloud Servers provided by AWS&GoogleGCP all only provide internal IP address in its local interface query. We must use external to query its public IP address.
  • This is really helpful. Thanks!
  • This should be the accepted answer.
  • Although the OP was for python 2, I think this should be the accepted answer for Python 3 because it doesn't use any third-party libs. Note however, that (and others like requests take about twice the amount of time as required by or, using the same code as this answer. The fastest and simplest response that I have found (among half a dozen) is that of
  • @Oliver Following your suggestion, I tested both and Over here in Europe, is roughly three times faster than I understand you are located in Canada.
  • Serge haha good to know that makes sense, thanks for reporting back. Yes Canada.
  • This works even when you are connected to a VPN. Thanks
  • won't work when connected to openvpn. Exception: No UPnP device discovered
  • didn't get the right IP address for me too
  • This one works over VPN, too. Great!
  • It is probably worth mentioning you need to import requests. See
  • Does not technically answer the question since "Requests officially supports Python 2.6–2.7 & 3.3–3.7, and runs great on PyPy." However, it is still useful to others.