Python 使用Punjab连接到google服务器时出错

Python 使用Punjab连接到google服务器时出错,python,xmpp,google-talk,punjab,Python,Xmpp,Google Talk,Punjab,我已经用(python 2.7.3)安装了punjab 我正试图通过旁遮普省的emite作为中介连接到谷歌服务器(gmail.com) 服务器似乎启动正常,我可以访问localhost:5280/httpbind,但我尝试建立的任何连接都失败。以下是从启动到尝试登录gmail.com帐户的日志: 2013-01-30 01:08:58+0530 [-] Log opened. 2013-01-30 01:08:58+0530 [-] twistd 11.1.0 (C:\Python27\pyth

我已经用(python 2.7.3)安装了punjab

我正试图通过旁遮普省的emite作为中介连接到谷歌服务器(gmail.com)

服务器似乎启动正常,我可以访问localhost:5280/httpbind,但我尝试建立的任何连接都失败。以下是从启动到尝试登录gmail.com帐户的日志:

2013-01-30 01:08:58+0530 [-] Log opened.
2013-01-30 01:08:58+0530 [-] twistd 11.1.0 (C:\Python27\python.exe 2.7.3) starting up.
2013-01-30 01:08:58+0530 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
2013-01-30 01:08:58+0530 [-] Site starting on 5280
2013-01-30 01:08:58+0530 [-] Starting factory <twisted.web.server.Site instance at 0x000000000364EB08>
2013-01-30 01:09:38+0530 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Jan/2013:19:39:38 +0000] "GET /http-bind HTTP/1.1" 200 170 "-" "Mozilla/5.0 (Windows NT 6.
1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17"
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] HEADERS 1359488636.27:
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] {'origin': 'http://127.0.0.1:8888', 'content-length': '226', 'accept-language': 'en-US,en;q=0.8', 'accept-en
coding': 'gzip,deflate,gzip', 'accept': '*/*', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Sa
fari/537.17', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'host': 'localhost:5280', 'referer': 'http://127.0.0.1:8888/Engile.html?gwt.codesvr=127.0.0.1
:9997', 'pragma': 'no-cache', 'cache-control': 'no-cache', 'content-type': 'text/xml; charset=UTF-8'}
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] HTTPB POST :
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] <body to="gmail.com" content="text/xml; charset=utf-8" rid="228343" xmlns:xmpp="urn:xmpp:xbosh" ack="1" hold
="1" secure="true" xml:lang="en" wait="60" xmpp:version="1.0" ver="1.6" xmlns="http://jabber.org/protocol/httpbind" />
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] Session Created : ea15d8ba5d460c80a90371138987072b58eed580 1359488636.3
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] ================================== 1359488636.3 connect to gmail.com:5222 ==================================

2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] G:\Softwares\Libraries\punjab\punjab\session.py:85: exceptions.UserWarning: Domain argument to XMPPClientCon
nector should be bytes, not unicode
2013-01-30 01:13:56+0530 [HTTPChannel,2,127.0.0.1] Starting factory <punjab.session.Session object at 0x0000000003664390>
2013-01-30 01:13:57+0530 [-] DNSDatagramProtocol starting on 30443
2013-01-30 01:13:57+0530 [-] Starting protocol <twisted.names.dns.DNSDatagramProtocol object at 0x0000000003672C18>
2013-01-30 01:13:57+0530 [DNSDatagramProtocol (UDP)] DNSDatagramProtocol starting on 24214
2013-01-30 01:13:57+0530 [DNSDatagramProtocol (UDP)] Starting protocol <twisted.names.dns.DNSDatagramProtocol object at 0x0000000003672E80>
2013-01-30 01:13:57+0530 [-] (UDP Port 30443 Closed)
2013-01-30 01:13:57+0530 [-] Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at 0x0000000003672C18>
2013-01-30 01:13:57+0530 [DNSDatagramProtocol (UDP)] DNSDatagramProtocol starting on 37666
2013-01-30 01:13:57+0530 [DNSDatagramProtocol (UDP)] Starting protocol <twisted.names.dns.DNSDatagramProtocol object at 0x0000000003660908>
2013-01-30 01:13:57+0530 [-] (UDP Port 24214 Closed)
2013-01-30 01:13:57+0530 [-] Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at 0x0000000003672E80>
2013-01-30 01:13:57+0530 [-] (UDP Port 37666 Closed)
2013-01-30 01:13:57+0530 [-] Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at 0x0000000003660908>
2013-01-30 01:13:58+0530 [Uninitialized] SID: ea15d8ba5d460c80a90371138987072b58eed580 => SEND: "<stream:stream xmlns:stream='http://etherx.jabber.org/streams'
 xmlns='jabber:client' to='gmail.com' version='1.0'>"
2013-01-30 01:13:58+0530 [XmlStream,client] SID: ea15d8ba5d460c80a90371138987072b58eed580 => RECV: '<stream:stream from="gmail.com" id="149344C387533058" versi
on="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></
starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:feature
s>'
2013-01-30 01:13:58+0530 [XmlStream,client] Wait until starttls is completed.
2013-01-30 01:13:58+0530 [XmlStream,client] [<twisted.words.protocols.jabber.xmlstream.TLSInitiatingInitializer object at 0x0000000003676AC8>]
2013-01-30 01:14:18+0530 [XmlStream,client] connect ERROR: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone
'>: Connection was closed cleanly.
        ]
2013-01-30 01:14:18+0530 [XmlStream,client] HTTPB Error 200
2013-01-30 01:14:18+0530 [XmlStream,client] HTTPB Return Error: 200 -> <body xmlns='http://jabber.org/protocol/httpbind' type='terminate' condition='remote-con
nection-failed'/>
2013-01-30 01:14:18+0530 [XmlStream,client] 127.0.0.1 - - [29/Jan/2013:19:44:17 +0000] "POST /http-bind// HTTP/1.0" 200 105 "http://127.0.0.1:8888/Engile.html?
gwt.codesvr=127.0.0.1:9997" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17"
2013-01-30 01:14:18+0530 [XmlStream,client] expire (ea15d8ba5d460c80a90371138987072b58eed580)
2013-01-30 01:14:18+0530 [XmlStream,client] 0
2013-01-30 01:14:18+0530 [XmlStream,client] SESSION -> We have expired ea15d8ba5d460c80a90371138987072b58eed580 228344 []
2013-01-30 01:14:18+0530 [XmlStream,client] SID: ea15d8ba5d460c80a90371138987072b58eed580 => SEND: '</stream:stream>'
2013-01-30 01:14:18+0530 [XmlStream,client] Stopping factory <punjab.session.Session object at 0x0000000003664390>
2013-01-30 01:08:58+0530[-]日志已打开。
2013-01-30 01:08:58+0530[-]twistd11.1.0(C:\Python27\python.exe 2.7.3)正在启动。
2013-01-30 01:08:58+0530[-]反应堆等级:twisted.internet.selectreactor.selectreactor。
2013-01-30 01:08:58+0530[-]站点从5280开始
2013-01-30 01:08:58+0530[-]启动工厂
2013-01-30 01:09:38+0530[HTTPChannel,0127.0.0.1]127.0.0.1---[29/Jan/2013:19:39:38+0000]“GET/http bind http/1.1”200 170“-”Mozilla/5.0(Windows NT 6)。
1、 WOW64)AppleWebKit/537.17(KHTML,像壁虎一样)Chrome/24.0.1312.56 Safari/537.17“
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]标题1359488636.27:
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]{'origin':'http://127.0.0.1:8888“,”内容长度“:”226“,”接受语言“:”en-US,en;q=0.8“,”接受英语
编码“:”gzip,deflate,gzip“,”接受“:”*/*”,“用户代理“:”Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.17(KHTML,类似Gecko)Chrome/24.0.1312.56 Sa
fari/537.17,“接受字符集”:“ISO-8859-1,utf-8;q=0.7,*;q=0.3”,“主机”:“本地主机:5280”,“引用者”:”http://127.0.0.1:8888/Engile.html?gwt.codesvr=127.0.0.1
:9997','pragma':'no cache','cache control':'no cache','content type':'text/xml;charset=UTF-8'}
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]HTTPB发布:
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]创建的会话:ea15d8ba5d460c80a90371138987072b58eed580 1359488636.3
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]============================================================================1359488636.3连接到gmail.com:5222==================================
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]G:\Softwares\Libraries\punjab\punjab\session.py:85:exceptions.UserWarning:XMPPClientCon的域参数
nector应该是字节,而不是unicode
2013-01-30 01:13:56+0530[HTTPChannel,2127.0.0.1]启动工厂
2013-01-30 01:13:57+0530[-]DNSDatagramProtocol从30443开始
2013-01-30 01:13:57+0530[-]启动协议
2013-01-30 01:13:57+0530[DNSDatagramProtocol(UDP)]DNSDatagramProtocol从24214开始
2013-01-30 01:13:57+0530[DNSDatagramProtocol(UDP)]启动协议
2013-01-30 01:13:57+0530[-](UDP端口30443关闭)
2013-01-30 01:13:57+0530[-]停止协议
2013-01-30 01:13:57+0530[DNSDatagramProtocol(UDP)]DNSDatagramProtocol从37666开始
2013-01-30 01:13:57+0530[DNSDatagramProtocol(UDP)]启动协议
2013-01-30 01:13:57+0530[-](UDP端口24214关闭)
2013-01-30 01:13:57+0530[-]停止协议
2013-01-30 01:13:57+0530[-](UDP端口37666关闭)
2013-01-30 01:13:57+0530[-]停止协议
2013-01-30 01:13:58+0530[未初始化]SID:ea15d8ba5d460c80a90371138987072b58eed580=>SEND:“
2013-01-30 01:13:58+0530[XmlStream,client]SID:ea15d8ba5d460c80a90371138987072b58eed580=>RECV:'X-GOOGLE-TOKENX-OAUTH2'
2013-01-30 01:13:58+0530[XmlStream,client]等待starttls完成。
2013-01-30 01:13:58+0530[XmlStream,客户端][]
2013-01-30 01:14:18+0530[XmlStream,client]连接错误:[故障实例:回溯(没有帧的故障)::连接已完全关闭。
]
2013-01-30 01:14:18+0530[XmlStream,client]HTTPB错误200
2013-01-30 01:14:18+0530[XmlStream,client]HTTPB返回错误:200->
2013-01-30 01:14:18+0530[XmlStream,client]127.0.0.1---[29/Jan/2013:19:44:17+0000]“POST/http绑定//http/1.0”200 105http://127.0.0.1:8888/Engile.html?
gwt.codesvr=127.0.0.1:9997“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.17(KHTML,类似Gecko)Chrome/24.0.1312.56 Safari/537.17”
2013-01-30 01:14:18+0530[XmlStream,客户端]过期(ea15d8ba5d460c80a90371138987072b58eed580)
2013-01-30 01:14:18+0530[XmlStream,client]0
2013-01-30 01:14:18+0530[XmlStream,client]会话->我们已过期ea15d8ba5d460c80a90371138987072b58eed580 228344[]
2013-01-30 01:14:18+0530[XmlStream,客户端]SID:ea15d8ba5d460c80a90371138987072b58eed580=>发送:“”
2013-01-30 01:14:18+0530[XmlStream,客户]停止工厂

这里出了什么问题?

该消息作为警告抛出,因此您应该能够抑制它,并让旁遮普强制将字符串转换为ascii。但真正的解决方案是首先用ascii编码的主机名创建会话。我是旁遮普人的新手。请告诉我如何“使用ascii编码的主机名创建会话”。我正在使用以下配置主机-gmail.com用户-mymail@gmail.com你能发一些密码吗?我自己也不知道旁遮普语,但我只是在网上查了一下代码,并对照你的堆栈跟踪进行了交叉引用。我能够克服这个问题。我检查了旁遮普问题,这似乎是Twisted 12.3.0的问题。现在我使用的是Twisted11.1.0。但是,当连接到gmail时,我收到了上面的错误(检查有问题的错误日志),在我看来,当尝试将套接字升级到TLS时,它失败了。日志中的路径看起来像是在windows上。IIRC您必须在windows上手动安装pythin的SSL/TLS支持。