У Stackoverflow, похоже, нет ничего общего с публичными IP-адресами в python, поэтому я задаю вопрос. У меня есть малина pi, и при запуске я хочу, чтобы он проверял свой глобальный IP-адрес и его частный IP-адрес, и, если возможно, разместите его в Twitter. Есть ли способ сделать все это? Я знаю о модуле twython
, но я никогда не использовал его раньше.Как получить частный IP-адрес компьютера, который я использую в python?
ответ
Во-первых, вы должны пойти в twitter.com и создать учетную запись, а затем dev.twitter.com/apps создать приложение, из которого вы получите ваш APP_KEY
, APP_SECRET
, OAUTH_TOKEN
и OAUTH_TOKEN_SECRET
. Не забудьте НИКОГДА не делиться этой информацией, так как это приведет к тому, что кто-либо автоматически сможет чирикать из вашей учетной записи Twitter. Чтобы получить общедоступный IP-адрес, введите curl ifconfig.me
, и он распечатает его. Однако вы не можете сделать это в программе python. Чтобы обойти это, используйте модуль, например pycurl
, или перейдите к http://docs.python-requests.org/en/latest/index.html, чтобы узнать больше. Для того, чтобы получить частный IP-адрес, используйте:
import socket
socket.gethostbyname(socket.gethostname())
Вот документация твиттер:
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!')
Вы можете изменить update_status
печатать переменные для государственного и частного IP-адреса.
Вот как запустить программу на Pi при запуске, введите это в свою оболочку:
cd/
sudo crontab -e
Это nano
файл кронтаб. В самом конце этого файла добавьте @reboot /home/pi/myscript.py
, и при запуске он запустит программу. Надеюсь это поможет!
Wow ... это работает! «sudo crontab -e» - очень крутая функция для Pis. «Pycurl', похоже, работает хорошо для меня, так же как и' ifconfig.me'. Благодаря! –
Я искал это в течение длительного времени! +1 –