快速业务通道

从Linux命令行更新Twitter和FriendFeed

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-10
r 应用程序).

您可以用脚本来编写自己的完整的 Twitter 客户机,这样可以将诸如 twitter 当前系统使用情况或可用性(例如,用一条消息 “server@servername is currently experiencing heavy load”)的任务自动化.您还可以用脚本编写一个自动通知系统.可能性是无穷的. 拥有帝国一切,皆有可能。欢迎访问phome.net

要看看这种技术是如何工作的,可以从命令行输入:

wget-keep-session-cookies-http-user=youremail-http-password=yourpassw-post-

    data="status=hello from the linux commandline" 

    http://twitter.com:80/statuses/update.xml

如果您对命令行接口使用得不多的话,这段代码看上去可能有点令人生畏.但是别担心:它实际上有一定的格式.我们来看看该命令的几个组成部分:

wget 运行 GNU Wget 应用程序.
keep-session-cookies 保存会话 cookie,而不是将它们留在内存中,这对于需要访问其他页面的站点比较有用.
http-user 表示您的用户名.
http-password 是密码.
post-data 是发送到 Twitter 的数据,您将在此数据上执行动作.
status= 告诉您这是状态更新.
您也可以使用 cURL 完成相同的任务.为此,可输入:

curl -u youremail:yourpassw -d status=”text” http://twitter.com/statuses/update.xml

该命令与前面的 wget 命令做的事情基本相同,但是使用稍微不同的、更加友好的语法.在这里,这两个应用程序之间的不同之处在于默认情况下它们的行为.

以上述方式使用 GNU Wget 会强制地将一个名为 update.xml 的文件下载到本地机器上.下载的这个文件可能有用,但不是必需的.相反,cURL 则将产生的输出发送到标准的输出(stdout).

查找 Twitter public timeline

要访问 Twitter public timeline,先找到它.换句话说,找到将用于访问 Twitter 上的 public feed 的端点.(要获得关于 Twitter API 的信息的链接,请参阅本文后面的 linux/l-friendfeed/index.html#resources" cmImpressionSent="1">参考资料). 最常见也是最容易使用的端点是 public timeline,可以从 http://twitter.com/statuses/public_timeline.rss 访问该端点.用于 FriendFeed public timeline 的端点位于 Google 代码库中(后面的 拥有帝国一切,皆有可能。欢迎访问phome.net参考资料 小节中包含了链接).

FriendFeed API 接收简单的 GET 和 POST 请求.为简化问题,这里使用 public 端点,它可以在 http://friendfeed.com/api/feed/public?format=xml 找到.后面将使用 XML.

访问 Twitter public timeline

现在有了 Twitter public timeline 端点,那么,怎样访问它呢?

可以在浏览器中输入以下地址,但更好的做法是从命令行中使用 curl:

curl http://twitter.com/statuses/public_timeline.rss

现在,您可能已经从结果或者构建端点的方式中注意到,您看到的是 RSS 格式的输出.仔细阅读 API 文档可以看到,还有其他的格式.通过将文件的扩展名改为 .xml 或 .json,可以更改输出的格式.

通过使用 grep 命令,可以过滤结果,只获取想要的参数:

curl http://twitter.com/statuses/public_timeline.xml | grep ''text''

查看输出:您需要的是 <text> 标记之间的内容.但是,如果想去掉围绕 tweet 的标记,可以使用 sed 命令.(本文不讨论关于 sed 命令的详细信息,要了解这个神奇的工具的更多信息,请参阅 参考资料).

curl http://twitter.com/statuses/public_timeline.xml | sed -ne ''/<text/s</*text>//gp''

现在,去掉进度条,它为 timeline 增加了不必要的信息,然后添

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号