我能够使用以下信息将 Facebook 聊天与外部应用程序一起使用:
首先,通过以下方式找到您的 Facebook 用户名 http://www.facebook.com/你的用户/。接下来,打开 iChat,然后选择 iChat » 偏好设置并单击帐户选项卡。
单击 + (加号)添加新帐户,并使用以下设置:
* Account Type is Jabber Account * Account name is [email protected], and enter
您的密码 * 单击下拉箭头显示服务器选项。输入 chat.facebook.com 作为服务器名称。 * 输入 5222 作为端口,然后单击完成。
再次单击“完成”,一切就绪。
从阅读这篇文章来看,似乎可以通过 telnet 进入 Facebook 聊天。我试过了,但没能成功。可能吗?怎么做?
答案1
答案2
从(非常)有限的测试来看,这似乎是可能的。
运行telnet chat.facebook.com 5222
连接,然后继续发送符合以下条件的有效 XMLJabber 协议 规格。
$ telnet chat.facebook.com 5222
Trying 69.63.181.105...
Connected to chat.facebook.com.
Escape character is '^]'.
<?xml version="1.0">
<stream>
// here I was looking up auth
Connection closed by foreign host.
请注意,服务器会在您大约一分钟不活动后关闭您的连接,因此临时查找协议并不实际。或者任何与原始 Jabber 相关的内容,因为完美地输入 XML 并不容易,而且一旦您发送格式错误的 XML,连接就会立即关闭。
$ telnet chat.facebook.com 5222
Trying 69.63.181.105...
Connected to chat.facebook.com.
Escape character is '^]'.
<stream>
<?xml version="1.0"?><stream:stream id="5D13A2D5" from="chat.facebook.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="en"><stream:error><invalid-namespace xmlns="urn:ietf:params:xml:ns:xmpp-streams"/></stream:error></stream:stream>Connection closed by foreign host
如果你想在聊天时受苦,命令行客户端可能是更好的选择。或者,如果与协议有关,您可以自己创建一个最小客户端,这样您就不必在压力下输入 XML——你不会受到 Telnet 差异的影响。
答案3
使用 telnet 可能不会像您希望的那样好用——您可能指的是“原始套接字连接”。如果您非常了解 Jabber 协议,您可以使用 PuTTY 来实现:
- putty -raw chat.facebook.com 5222
最好的办法是获取一个 Jabber 客户端并使用它连接到主机名 chat.facebook.com。