public string SendMessage(AuthFaceBook client, string TextMessage, OptionMessage option) { if (client.IsLogin) { string Data = string.Format("fb_dtsg={0}&body={1}&send=Send&wwwupp=V3&ids%5B{2}%5D={3}&referrer=&ctype=&cver=legacy", option.DTSG, Uri.EscapeDataString(TextMessage), option.UserId, option.UserId); HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("https://m.facebook.com/messages/send/?icm=1"); getRequest.CookieContainer = new CookieContainer(); getRequest.CookieContainer = client.Cookies; //recover cookies First request getRequest.Method = WebRequestMethods.Http.Post; getRequest.UserAgent = client.UserAgent; getRequest.AllowWriteStreamBuffering = true; getRequest.ProtocolVersion = HttpVersion.Version11; getRequest.AllowAutoRedirect = false; getRequest.ContentType = "application/x-www-form-urlencoded"; getRequest.Referer = "https://m.facebook.com"; getRequest.KeepAlive = false; getRequest.Timeout = 45000; byte[] byteArray1 = Encoding.ASCII.GetBytes(Data); getRequest.ContentLength = byteArray1.Length; Stream newStream2 = getRequest.GetRequestStream(); //open connection newStream2.Write(byteArray1, 0, byteArray1.Length); // Send the data. newStream2.Close(); output_message = "Message Sent"; return(output_message); } else { output_message = "Facebook Auth Error"; return(output_message); } }
public OptionMessage(string uid, AuthFaceBook client) { try { userId = uid; linkReq = "https://m.facebook.com/messages/thread/" + userId; HttpWebRequest Arequest = (HttpWebRequest)WebRequest.Create(linkReq); Arequest.CookieContainer = new CookieContainer(); Arequest.CookieContainer = client.Cookies; Arequest.UserAgent = client.UserAgent; Arequest.KeepAlive = false; Arequest.Timeout = 45000; HttpWebResponse Aresponse = (HttpWebResponse)Arequest.GetResponse(); StreamReader Asr = new StreamReader(Aresponse.GetResponseStream()); error += "Step 1 "; string Ahtml = Asr.ReadToEnd(); var splitted_fb_dtsg = Ahtml.Split(new string[] { "type=\"hidden\" name=\"fb_dtsg" }, StringSplitOptions.RemoveEmptyEntries); string fb_dtsg_container = splitted_fb_dtsg[1]; var splitted_tids = Ahtml.Split(new string[] { "tids" }, StringSplitOptions.RemoveEmptyEntries); string tids_container = ""; if (splitted_tids.Length > 2) { tids_container = splitted_tids[1]; } else { tids_container = splitted_tids[0]; } error += "Step 2 "; var splitted1_fb_dtsg = fb_dtsg_container.Split('"'); string fb_dtsg_rubsh = splitted1_fb_dtsg[2]; for (int u = 0; u < fb_dtsg_rubsh.Length; u++) { if (fb_dtsg_rubsh[u] != '"') { dtsg += fb_dtsg_rubsh[u]; } } error += "Step 3 "; var splitted1_tids = tids_container.Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries); string tids_rubsh = splitted1_tids[1]; for (int u = 0; u < tids_rubsh.Length; u++) { if (tids_rubsh[u] != '"') { tids += tids_rubsh[u]; } } } catch (Exception ex) { error = ex.Message; } }