使用Python+xmpppy通过gtalk服务收发消息

python-xmpp-client:非常简单的 Python 命令行工具,用于与 XMPP 服务器交互以发送通知消息 python-xmpp-客户端 非常简单的 Python 命令行工具,用于与 XMPP 服务器交互以发送通知消息。 要求 Python 2.6+ Python xmpppy 库 -> 示例用法 python xmpp_cli.py --help usage: xmpp_cli.py [-h] [-d HOST] [-u USER] [-pw PASSWORD] [-t [TO [TO ...]]] [-g GROUP] [-p PORT] [-m MESSAGE] [-de] A simple XMPP message sending application optional arguments: -h, --help show this help message and 立即下载
 XMPP是一种以XML为基础的开放式即时通讯协议,是经由网际网络工程工作小组(IETF)通过的网际网络标准.XMPP的技术来自于Jabber,事实上它是Jabber的核心协议.

    GTalk是Google推出的IM(即时通信)工具,它使用的消息传输协议与XMPP兼容,XMPP也因为Google Talk而被广大网民所接触.

    因为XMPP协议具有的开放性,它能为互联网上两台不同主机间通信提供可能.特别是当两台主机都处于局域网内而无法直接通信时.举个例子,比如想要从家中的主机向单位的主机发送一条命令,这时只要单位的主机连接到XMPP网络并且在等待消息即可收到命令并处理.

    xmpppy是XMPP协议的一个开源Python实现,其项目主页在
http://xmpppy.sourceforge.net/
,它的基本用法很简单,下面是一个实例,实现一个基于XMPP的echo服务,运行该实例后,你可以从GTalk客户端向其发送数据并看到回复,当然发送数据和收到数据是相同的(echo服务).

#! /usr/bin/env python
# encoding=UTF-8
import xmpp
import time
# 消息回调函数
def messageCB(cnx, msg):
    # 显示消息发送者和内容
    print "Sender: " + str(msg.getFrom())
    print "Content: " + str(msg.getBody())
    # 将消息又返回给发送者
    cnx.send(xmpp.Message(str(msg.getFrom()), str(msg.getBody())))
if __name__ == '__main__':
    # 给实例的gtalk帐号和密码
    login = 'user***'
    pwd = 'pwd***'
    # 创建client对象
    cnx = xmpp.Client('gmail.com', debug=[])
    # 连接到google的服务器
    cnx.connect(server=('talk.google.com', 443))
    # 用户身份认证
    cnx.auth(login, pwd, 'UDPonNAT')
    # 告诉gtalk服务器用户已经上线
    cnx.sendInitPresence()
    # 设置消息回调函数
    cnx.RegisterHandler('message', messageCB)
    # 循环处理消息,如果网络断开则结束循环
    while True:
        if cnx.Process(1) == None:
            print 'Lost connection.'
            break
    # 无用,方便windows命令窗口调试
    while True:
        time.sleep(1)

    要运行这个例子需要两点:
    1,系统需要安装Python和xmpppy.
    2,要有两个gtalk帐号,并且这两个帐号要互相加为好友,可以用GTalk客户端做这件事情.

    点击获取
echo.py
代码.下图是在我的主机上执行抓图:
Click here to open new window
CTRL+Mouse wheel to zoom in/out
poezio:在Python中控制台XMPP客户端 Poezio 主页: : 伪造页面: : Poezio是控制台Jabber / XMPP客户端。 最初的目标是像IRC客户端一样,提供一种无需帐户即可轻松连接到XMPP的方法。 Poezio的命令还被设计为尽可能接近IRC客户端中常用的命令(weechat,irssi等)。 因此,尽管poezio长期以来一直是功能齐全的XMPP客户端,但体验仍然围绕聊天室。 安装 配套 poezio的稳定版本打包在。 如果您的发行版中未打包该软件包,可以运行flatpak或使用pip从Pypi安装该软件包。 来自git 文献资料 您需要python 3.7或更高版本(最好是最新版本)以及相关的devel软件包来构建C模块和slixmpp python库。 如果需要SRV记录支持,则还需要aiodns。 具有最新依赖关系并能够测试此开发版本的最简单方法是使用update.sh脚本,该 立即下载

相关推荐

Python+xmpppy通过gtalk服务收发消息

Python+xmpppy通过gtalk服务收发消息

wjc272008的专栏 815

SleekXMPP: Python库,用于处理XMPP协议的多功能工具

SleekXMPP: Python库,用于处理XMPP协议的多功能工具 SleekXMPP Python 2.6+/3.1+ XMPP Library 项目地址: https://gitcode.com/gh_mirrors/sl/SleekXMPP ...

gitblog_00010的博客 647

XMPP通讯过程-简单实例

版权所有,转载请注明出处:http://guangboo.org/2013/02/25/xmpp-communication-implement-with-xmpppy 上一篇文章《XMPP通讯过程简介》介绍了XMPP协议通讯的大致主要的过程。本文基于该文,并结合实例来直观感受XMPP通讯过程,本文的代码采用python编写,使用XMPP协议的Python实现xmpp.py(0.5.0rc1)...

编程语言小筑 341

XMPP协议学习笔记

一、定义        XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接受的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯。        XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网

imyfriend的专栏 2万+

PyXMPP2:一个强大的Python XMPP

PyXMPP2:一个强大的Python XMPP库 项目基础介绍及编程语言 PyXMPP2 是一个用于PythonXMPP(可扩展消息传递和呈现协议)重新实现项目。它专为追求现代API设计和摆脱对libxml2依赖而生,支持Python 2.7及更新版本,包括Python 3系列。此项目以Python为主要编程语言,并利用DNSPython进行必要的DNS查询。 核心功能 PyXMPP2提供了全...

gitblog_01078的博客 433

使用python发送gtalk消息

  因为gtalk是基于XMPP的,所以可以利用xmpp库来发送gtalk消息,首先要确保已经安装了xmpppy库。代码如下 #!/usr/bin/python import xmpp import sys login = your.account # @gmail.com pwd   = your.password to = sy

chenqj的专栏 1004

gtalk robot

想写个GTalk的Robot,实现简单的智能对话。采用了xmpppy library。XMPP 是面向基于 XML 的 Internet 通信的开放协议。  图1. 由一个服务器和两个客户机组成的基本的XMPP架构  图2. 包含了XMPP网关的更为复杂的 XMPP架构 XMPP 中的地址(即 Jabber ID[JID])与标准电子邮件地址相似,但有着几个显著的差

ReadReply的专栏 904

android 通过xmpp即时聊天客户端往服务器发消息,利用XMPP协议推送服务器告警信息到安卓平台及桌面...

XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;核心的XML流传输协议基于XML流传输的即时通讯扩展应用XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。XMPP的即时通讯扩展应用部分是根据...

weixin_42166918的博客 388

use xmpp to talk with Gtalk

# use xmpp to talk with gtalk# but use this script youll got # An error occurred while looking up _xmpp-client._tcp.talk.google.comimport xmppjid = xmpp.protocol.JID(user@gmail.com)cl = xmpp.Clie

s91的专栏 1424

基于手机遥控的远程打印

2009/11/19 | 23:23 | from http://blog.linjian.org/articles/phone-remote-print/标签:AHKGtalkPythonXMPP手机   场景:假设实验室的打印机距离你的工位比较远,现需要打印一些文章,但不知道打印机里有没有放纸、是不是合适的纸(A4/B5;新纸/旧纸反面)。贸然打印有可能造成浪费,而如果把合适的

liuyukuan的专栏 2268

利用XMPP协议推送服务器告警信息到安卓平台及桌面

XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;核心的XML流传输协议基于XML流传输的即时通讯扩展应用XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。XMPP的即时...

weixin_33716557的博客 88

深入探索XMPP的世界:xmpppy库全面解读

深入探索XMPP的世界:xmpppy库全面解读 项目介绍 在即时通讯的浩瀚宇宙中,XMPP(Extensible Messaging and Presence Protocol)以其开放、可扩展性而著称。而xmpppy正是这样一款专为Python开发者的礼物,它是一个兼容Python 2和Python 3的XMPP协议实现库,严格遵循RFC3920与RFC3921标准。这款强大的工具使您能够轻松...

gitblog_00595的博客 1077

Python XMPP 服务器项目推荐

Python XMPP 服务器项目推荐 项目基础介绍和主要编程语言 Python XMPP 服务器是一个用 Python 编写的 XMPP(可扩展消息和存在协议)服务器实现。该项目旨在提供一个轻量级、易于扩展的 XMPP 服务器,适用于各种即时通讯应用场景。Python 作为一种简洁、易读的编程语言,使得该项目在开发和维护上具有较高的效率。 项目核心功能 该项目的主要功能包括: TLS 支持:确...

gitblog_00018的博客 339
上一篇: 简单架设Jabber 局域网即时通讯服务器
下一篇: Miranda IM:支持MSN、QQ、Yahoo、ICQ、 AIM、Jabber、GoogleTalk等_威望 wivan
jiangnanandi
博客等级 码龄20年 69粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值