libcurlを使用してC++で簡単なGoogleトーククライアントを作成したいと思います。Googleトークは通信プロトコルとしてXMPPを使用し、talk.google.com:5222でリッスンします。まず、curlを使用してコマンドラインからgoogletalkにアクセスしようとします。やってみたら
curl talk.google.com:5222 -d "<stream:stream to='gmail.com' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' version='1.0'>"
telnetクライアントを使用しようとすると、応答302「ドキュメントが移動しました」が表示されます
telnet talk.google.com 5222
有効なXMPP応答を取得できます。chat.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にあります。
誰かが私の間違いを指摘できますか?