curl
  • xmpp
  • google-talk
  • 2012-11-26 48 views 4 likes 
    4

    我想用C++編寫一個簡單的google talk客戶端,使用libcurl.Google talk使用XMPP作爲通信協議,並在talk.google.com:5222上偵聽。首先,我嘗試使用curl從命令行訪問Google Talk。如果我嘗試curl with talk.google.com通過XMPP

    curl talk.google.com:5222 -d "<stream:stream to='gmail.com' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' version='1.0'>" 
    

    我得到響應302「該文件已移至」 如果我嘗試使用Telnet客戶端

    telnet talk.google.com 5222 
    

    我能得到一個有效的XMPP響應 另外,如果我嘗試訪問聊天.facebook.com:

    curl chat.facebook.com:5222 -d "<stream:stream to='chat.facebook.com' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' version='1.0'>" 
    

    我再次得到了有效的XMPP響應,唯一的問題是talk.google.com。

    有人能指出我的錯誤嗎?

    回答

    2

    「-d」選項將數據作爲HTTP POST發送。 XMPP基於原始套接字。所以你必須使用一個選項,在可用時創建一個像telnet這樣的普通持久套接字。但我對捲曲並不熟悉。

    +0

    所以基本上我有幸與chat.facebook.com和谷歌會談的反應是正常的?嗯thnx – Netfalo

    +0

    我不認爲你曾與Facebook共進午餐。它可能會返回一些HTTP消息而不是xmpp流頭。 – Alex

    相關問題