Stackoverflow 似乎没有关于 python 中公共(public) IP 地址的信息,所以我在问一个问题。我有一个树莓派,在启动时,我希望它检查它的全局 IP 地址和私有(private) IP 地址,如果可能的话,将它发布到 Twitter。有什么办法可以做到这一切吗?我知道 twython
模块,但我以前从未使用过它。
最佳答案
首先,您必须前往 twitter.com 并创建一个帐户,然后前往 dev.twitter.com/apps 创建您的应用程序,从中您可以获取您的 APP_KEY
、APP_SECRET
、OAUTH_TOKEN
和 OAUTH_TOKEN_SECRET
。请记住永远不要分享此信息,因为这会导致任何人自动能够从您的 Twitter 帐户发推文。要获取您的公共(public) IP 地址,请键入 curl ifconfig.me
,它会打印出来。但是,您不能在 python 程序中执行此操作。要解决此问题,请使用 pycurl
之类的模块或转到 http://docs.python-requests.org/en/latest/index.html了解更多。要获取您的私有(private) 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
以打印公共(public)和私有(private) IP 地址的变量。
以下是启动时如何在 Pi 上运行程序,在你的 shell 中输入:
cd /
sudo crontab -e
这将 nano
文件 crontab。在这个文件的最后,添加@reboot/home/pi/myscript.py
,在启动时,它会运行程序。希望这对您有所帮助!
关于python - 如何获取我在 python 中使用的计算机的私有(private) IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21611022/