2

Stackoverflow 似乎没有关于 python 中的公共 IP 地址的信息,所以我在问一个问题。我有一个树莓派,在启动时,我希望它检查其全局 IP 地址和私有 IP 地址,如果可能,将其发布到 Twitter。有没有办法做到这一切?我知道这个twython模块,但我以前从未使用过它。

4

1 回答 1

1

首先,您必须访问 twitter.com 并创建一个帐户,然后 dev.twitter.com/apps 以创建您的应用程序,您可以从中获取您的APP_KEYAPP_SECRETOAUTH_TOKENOAUTH_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 回答