使用 strophe,旁遮普语的 facebook 聊天
Posted
技术标签:
【中文标题】使用 strophe,旁遮普语的 facebook 聊天【英文标题】:facebook chat using strophe, punjab 【发布时间】:2011-05-12 14:10:25 【问题描述】:使用my previous question 和another post 的答案,我尝试从浏览器实现facebook-chat。这是我所做的:
-
在 ubuntu 虚拟机上,我有 python 2.6.5、python-twisted-conch 1:10.0.0-2、python-twisted-名称 10.0.0-1、python-twisted-web 10.0.0-1 和 python-twisted-words 10.0.0-2 已安装。我没有安装 jabberd2 服务器,我假设 facebook 服务器在我的情况下是 Jabber/XMPP 服务器。我也没有安装 pyopenssl。
从here下载并解压旁遮普语
使用以下命令运行它
user@ubunto: sudo twistd punjab
有时它告诉进程已经在 PID xxx 下运行,但大多数时候回复是
Removing stale pidfile /home/user/twistd.pid
这是否意味着旁遮普语正在运行?
在punjab.tac文件中,根据this post我把root.putChild这一行改成
root.putChild('bosh', b)
另一方面,我在主机 (windows xp) 上运行了一个 apache 服务器来托管我使用 Strophe 的网页。在 apache 配置文件 httpd.conf 中,我将 BOSH 请求代理到 5280 端口的 punjab 使用:
<IfModule proxy_http_module> ProxyRequests Off ProxyPass /bosh http://ubunto_ipAddress:5280/bosh ProxyPassReverse /bosh http://ubunto_ipAddress:5280/bosh </IfModule>
注意主机和虚拟机是桥接的,所以两者都从路由器获取IP地址,并且可以互相ping通。我也没有安装 jabber/xmpp 服务器,或者
为了测试,我使用 strophe 的基本示例作为我的网页 basic.html 和 basic.js 与 JID: FB_username@chat.facebook.com & password: FB_password。
我得到以下信息:
Strophe is connecting. SENT: <body rid='1709425072' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> Strophe is disconnecting.
有什么错误或遗漏吗?请帮忙,因为除了一些关于这个问题的帖子之外,我没有找到真正的文档。谢谢 沙巴
【问题讨论】:
你的整合成功了吗,因为我被困在你所在的地方,所以如果你有任何进展,请分享 【参考方案1】:我不确定这是否是您想要做的,但如果您试图让网页通过 JS 独立连接到 Facebook Chat,由于跨站点脚本保护,它不会工作。您只能使用 Strophe 连接到发布 Strophe 正在处理的网页的同一服务器。您必须先连接回您的服务器并将其用作中间;或使用 iframe 在您的网页中嵌入 facebook 聊天。
(作为记录,我对 Python 一无所知,但看起来你的问题出在 JS 上:))
【讨论】:
谢谢@Thomas Shields。是的,我正在尝试在我的网页中进行 FB 聊天,我不在乎它是如何完成的(使用 Strophe、Punjab、iframe,...)。使用 strophe 时,您的意思是我应该连接到哪个服务器,webserver 还是其他本地 XMPP 服务器?如果使用 iframe 更容易,您知道一些关于如何连接的指针(教程/示例)这样做? 我对 Python 也一无所知 ;) 所以总是欢迎使用更简单的方法。 @sabah 在使用 Strophe 时,您无法连接到其他网络服务器,您必须连接到发布页面的服务器。因此,您必须连接到您的服务器,而不是 Facebook 的。至于 iframe,我不知道,但我很确定 Facebook 在他们的开发文档中有一些信息。以上是关于使用 strophe,旁遮普语的 facebook 聊天的主要内容,如果未能解决你的问题,请参考以下文章