1

使用我上一个问题的答案和另一篇文章,我尝试从浏览器实现 facebook-chat。这是我所做的:

  1. 在 ubuntu 虚拟机上,我有python 2.6.5python-twisted-conch 1:10.0.0-2python-twisted-names 10.0.0-1python-twisted-web 10.0.0-1python-已经安装了twisted-words 10.0.0-2。我没有安装 jabberd2 服务器,我假设 facebook 服务器是我的 Jabber/XMPP 服务器。我也没有安装 pyopenssl。
  2. 这里下载和解压旁遮普语
  3. 使用以下命令运行它
user@ubunto: sudo twistd punjab

有时它告诉进程已经在 PID xxx 下运行,但大多数时候回复是

Removing stale pidfile /home/user/twistd.pid

这是否意味着旁遮普正在运行?

在 punjab.tac 文件中,根据这篇文章,我将 root.putChild 行更改为

root.putChild('bosh', b)

另一方面,我在主机(windows xp)上运行了一个apache服务器来托管我使用Strophe的网页。在 apache 配置文件httpd.conf 中,我使用以下命令将 BOSH 请求代理到 5280 端口的旁遮普语:

<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.jsJID: FB_username@chat.facebook.com 和密码: 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.

有什么错误或遗漏吗?请帮忙,因为除了一些关于这个问题的帖子之外,我没有找到真正的文档。谢谢沙巴
_

4

1 回答 1

0

我不确定这是你想要做的,但如果你试图让一个网页通过 JS 独立连接到 Facebook 聊天,由于跨站点脚本保护,它不会工作。您只能使用 Strophe 连接到发布 Strophe 正在处理的网页的同一服务器。您必须先连接回您的服务器并将其用作中间;或使用 iframe 在您的网页中嵌入 facebook 聊天。

(作为记录,我对 Python 一无所知,但看起来你的问题出在 JS 上 :))

于 2011-05-12T14:13:17.580 回答