Stackoverflow 似乎没有关于 python 中的公共 IP 地址的信息,所以我在问一个问题。我有一个树莓派,在启动时,我希望它检查其全局 IP 地址和私有 IP 地址,如果可能,将其发布到 Twitter。有没有办法做到这一切?我知道这个twython
模块,但我以前从未使用过它。
user3280859
问问题
730 次
1 回答
1
首先,您必须访问 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 上运行程序的方法,在 shell 中输入:
cd /
sudo crontab -e
这将nano
是文件 crontab。在这个文件的最后,添加@reboot /home/pi/myscript.py
,然后在启动时,它将运行程序。希望这可以帮助!
于 2014-02-06T18:28:18.657 回答