Facebook聊天使用strophe,旁遮普

时间:2011-05-12 14:10:25

标签: javascript xmpp twisted strophe facebook-chat

使用my previous questionanother post的答案我试图通过浏览器实现Facebook聊天。这是我做的:

  1. 在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。
  2. here
  3. 下载并解开旁遮普
  4. 使用以下命令
  5. 运行它
    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 中,我使用以下代码将端口5280的BOSH请求代理到旁遮普:

    <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.htmlbasic.js JID: FB_username@chat.facebook.com&amp; 密码: 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 个答案:

答案 0 :(得分:0)

我不确定这是你想要做的,但如果你想通过JS独立连接到Facebook Chat,那么由于Cross Site Scripting保护,它不会起作用。您只能使用Strophe连接到发布Strophe正在处理的网页的同一服务器。您必须先连接回服务器并将其用作中间服务器;或使用iframe在您的网页中嵌入Facebook聊天。

(为了记录,我对Python一无所知,但看起来你的问题与JS有关:))