google talk 的php api 脚本xmpphp

本文可自由转载,但请遵循“署名-非商业用途-保持一致”的创作共用协议。 永久链接:JoeCen's 小猫窝
-----------------------------

下周打算将cacti的整套脚本重写,让其真正能成为一个大众化的东西。初步的想法是做成一个插件化和模块化的脚本,使用的语言是php、perl和一点点的shell。

其中里面包含一个报警的模块,我们自己有popo的接口,但是如果给其他人用的话,还是需要使用msn或者gtalk的接口。个人比较倾向于gtalk,毕竟比较方便,但是考虑到使用msn的人比较多,还是做成可以选择的吧。

msn的接口我以前在家里面放一台PC作服务器的时候用过,用来记录adsl多久换一次IP,当电信adsl换IP的时候就会及时的通知到我。那么现在要找的就是google talk的api了。google talk使用xmmp协议,现在连新popo都支持gtalk了,api程序应该很容易找到,不过我要的是php的。

php 的google talk api在code.google.com上面就有:xmpphp.
使用非常简单,只需要include一个php文件,在调用几个函数就可以了:

<?php
include("xmpp.php");
$conn = new XMPP('talk.google.com', 5222, 'username', 'password', 'xmpphp', 'gmail.com', $printlog=False, $loglevel=LOGGING_INFO);
$conn->connect();
$conn->processUntil('session_start');
$conn->message('someguy@someserver.net', 'This is a test message!');
$conn->disconnect();
?>

有点要注意的是,message的中文必须要用UTF-8格式的,用GBK会变成乱码,linux可以使用iconv或者enca来转换即可。
万事具备,只欠东风。

随机日志

  • 从泰国回来了
  • 小游珠海荷包岛
  • Oracle8i安装手扎
  • 将令开机很慢的finding module denpendeneies停掉!
  • 使用UltraEdit的调试功能
  • 9 Responses to “google talk 的php api 脚本xmpphp”

    1. freeke Says:

      博主这个系统开发的如何了?是否会开源呢?

    2. joecen Says:

      当然会开源,不过最近比较忙,可能要再晚一点才能完成。

    3. freeke Says:

      joecen 也经常去HK啊,我也经常过去转转数码产品!也准备去淘一个本本回来用,好多同事都在HK拿的T60,国内一万多,HK才9K多一点

    4. joecen Says:

      joecen 也经常去HK啊,我也经常过去转转数码产品!也准备去淘一个本本回来用,好多同事都在HK拿的T60,国内一万多,HK才9K多一点

      香港的数码产品的确比较便宜。我也不是经常过去啦,呵呵。

    5. freeke Says:

      非常期待你的这个系统的出来哦!现在的cacti 只是对于监控对像的后期分析非常有好处,有时发现报警功能不太好,实时性不强!并且监控对像修改IP后,不能自动恢复!

    6. joecen Says:

      非常期待你的这个系统的出来哦!现在的cacti 只是对于监控对像的后期分析非常有好处,有时发现报警功能不太好,实时性不强!并且监控对像修改IP后,不能自动恢复!

      恐怕不是你想象中的东西。
      我想做的是一个no snmp的cacti数据接口,使用http来代替snmp。
      实时的报警非常有必要的,IM的报警我会做进去。至于换IP,我就不知道你是什么意思了。
      另外恐怕你要失望的是,这个月我恐怕都没有太多时间完成这个事情了。

    7. freeke Says:

      由于服务器经常受到攻击,所以我们服务器经常需要更换其它线路的IP,所以修改IP后,SNMP就获取不到数据了!

      其实你写的这个http的接口,有点类似新浪那个张宴的那个监控方式吧?

      这种方式也非常好!

    8. joecen Says:

      由于服务器经常受到攻击,所以我们服务器经常需要更换其它线路的IP,所以修改IP后,SNMP就获取不到数据了!

      其实你写的这个http的接口,有点类似新浪那个张宴的那个监控方式吧?

      这种方式也非常好!

      我不知道张宴那个方式是怎么样的。

      经常要修改IP的话,你可以用hostname而不是直接使用IP呀!

      你只要在cacti所在的机器上面的/etc/hosts上面指定hostname和ip的对应关系就可以了。

      如果你有自己的私有dns,也可以在dns里面定义自己的对应关系,然后cacti的机器指定使用这个私有dns就可以了。

    9. freeke Says:

      joecen

      我想问一下,你这个功能,是否可以迁移到nagios中将报警信息发到MSN上?

    Leave a Reply