简体   繁体   中英

How do I get the private IP address of the computer that I am using in python?

Stackoverflow does not seem to have something about public IP addresses in python, so I am asking a question. I have a raspberry pi, and upon start up, I want it to check for its global ip address and its private ip address, and if possible, post it to Twitter. Is there any way to do all of this? I know about the twython module, but I have never used it before.

First, you have to go to twitter.com and create an account, and then dev.twitter.com/apps to create your app, from which you get your APP_KEY , APP_SECRET , OAUTH_TOKEN , and OAUTH_TOKEN_SECRET . Remember to NEVER share this information, for it will cause anyone to automatically be able to tweet from your twitter account. To get your public ip address, type curl ifconfig.me , and it will print it. However, you cannot do this in a python program. To go around this, use a module like pycurl or go to http://docs.python-requests.org/en/latest/index.html to learn more. To get your private IP address, use this:

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

Here is the twitter documentation:

from twython import Twython
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
twitter.update_status(status='See how easy using Twython is!')

You can change update_status to print your variables for the public and private IP address.

Here is how to run a program on a Pi when starting up, type this into your shell:

cd /
sudo crontab -e

This will nano the file crontab. At the very end of this file, add @reboot /home/pi/myscript.py , and on startup, it will run the program. Hope this helps!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM