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,在启动时,它会运行程序。希望这对您有所帮助!
