Stackoverflow似乎没有python中的公共IP地址,所以我问一个问题。我有一个覆盆子pi,在启动时,我希望它检查它的全局IP地址和它的私人IP地址,如果可能的话,将它发布到Twitter。有没有办法做到这一切?我知道twython
模块,但我以前从未使用过它。
答案 0 :(得分:1)
首先,您必须访问twitter.com并创建一个帐户,然后通过dev.twitter.com/apps创建您的应用,从中获取APP_KEY
,APP_SECRET
,{ {1}}和OAUTH_TOKEN
。请记住,永远不要分享这些信息,因为这将导致任何人自动从您的Twitter帐户发送推文。要获取公共IP地址,请键入OAUTH_TOKEN_SECRET
,然后将其打印出来。但是,你不能在python程序中这样做。要解决此问题,请使用curl ifconfig.me
之类的模块或转到http://docs.python-requests.org/en/latest/index.html了解详情。要获取您的私人IP地址,请使用以下命令:
pycurl
以下是Twitter文档:
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!')
以打印公共和私有IP地址的变量。
以下是启动时在Pi上运行程序的方法,将其输入shell:
update_status
这将cd /
sudo crontab -e
文件crontab。在此文件的最后,添加nano
,并在启动时,它将运行该程序。希望这有帮助!