private ChatRoom OpenChat(string room)
{
string url = PAGE+ "chat/" + room + "/";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create (url);
req.UserAgent = UserAgent;
req.CookieContainer = cookies;
HttpWebResponse response = (HttpWebResponse)req.GetResponse ();
if (response.StatusCode == HttpStatusCode.OK) {
ChatRoom chatRoom = new ChatRoom (this,room);
using (System.IO.StreamReader sr = new System.IO.StreamReader (response.GetResponseStream ())) {
string data = sr.ReadToEnd ();
int fInd = data.IndexOf ("window.Chat.init(");
//Console.WriteLine (data);
if (fInd == -1)
return null;
Console.WriteLine ("Found start");
fInd += "window.Chat.init(".Length;
int eInd = data.IndexOf (");", fInd);
if (eInd == -1)
return null;
Console.WriteLine ("Found end");
string json = data.Substring (fInd, eInd - fInd - 1);
fInd = data.IndexOf ("window.Chat.connect(", eInd);
if (fInd == -1)
return null;
eInd = data.IndexOf (");", fInd);
if (eInd == -1)
return null;//TODO: exception trowing?
string tmp = data.Substring (fInd, eInd - fInd - 1);
tmp = tmp.Split (',') [1];
tmp = tmp.Split (':') [1].Trim ().Replace ("\"", "");
chatRoom.Load (json, tmp);
}
chatRoom.Login ();
return chatRoom;
}
Console.WriteLine ("Not OK");
return null;
}