/// <summary> /// Send GET request to Kyivstar /// </summary> /// <param name="infoText">Count of live images on image captcha</param> /// <returns>URI for Kyivstar image captcha</returns> public string GET(out string infoText) { try { string GETLink = "http://smsgate.kyivstar.ua/sms/?lang=ua"; WinHttpRequest winHttpRequest = new WinHttp.WinHttpRequestClass(); winHttpRequest.Open("GET", GETLink, 0); winHttpRequest.SetRequestHeader("Referer", "http://kyivstar.ua/sms/"); winHttpRequest.Send(); string webPage = winHttpRequest.ResponseText; string images_sid = Regex.Match(webPage, @"/sms/images.jpg\?id=(\d+?)'").Groups[1].Value; string live_images = Regex.Match(webPage, @"вкажіть (\d) картинки").Groups[1].Value; infoText = String.Format("Для того, щоб надіслати SMS,\nвкажіть {0} картинки живої природи.", live_images); information.images_sid = images_sid; return @"http://smsgate.kyivstar.ua/sms/images.jpg?id=" + images_sid; } catch (Exception e) { infoText = "KYI: GET Error - " + e.Message; return null; } #region Original Code for sending GetKyivstar //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(GETLink); //request.Timeout = 2000; //request.Referer = "http://kyivstar.ua/sms/";//Обовязково, ніби запит зі сторінки сайту //HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //string SetCookie = response.Headers.Get("Set-Cookie");//Тиримо кукі що приходять у відповідь //Match CookieUsefulData = Regex.Match(SetCookie, @"images_sid=(\d+?);"); //string images_sid = CookieUsefulData.Groups[1].Value; //information.images_sid = images_sid; //StreamReader reader = new StreamReader(response.GetResponseStream()); //string webPage = reader.ReadToEnd(); //reader.Close(); //response.Close(); ////Для того, щоб надіслати SMS, <br> вкажіть 2 картинки живої природи. //string liveImagesCount = Regex.Match(webPage, @"вкажіть (\d) картинки").Groups[1].Value; ////infoText = liveImagesCount; //infoText = String.Format("Для того, щоб надіслати SMS,\nвкажіть {0} картинки живої природи.", liveImagesCount); //string captchaURI = @"http://smsgate.kyivstar.ua/sms/images.jpg?id=" + images_sid; //return captchaURI; #endregion }
public void Dispose() { winhttp = null; }
public string GET(out string infoText) { try { infoText = "\"МТС за зміст SMS не відповідає\" -\nцей інформаційний текст MTC буде\nдодано до Вашого повідомлення."; string GETLink = "http://www.mts.com.ua/ukr/sendsms.php"; WinHttpRequest winHttpRequest = new WinHttp.WinHttpRequestClass(); winHttpRequest.Open("GET", GETLink, 0); winHttpRequest.Send(); string webPage = winHttpRequest.ResponseText; Match inputHidden = Regex.Match(webPage, @"<input type=""hidden"" name='(.*)' value=""(\d*)"" >"); information.HiddenName = inputHidden.Groups[1].Value; information.HiddenValue = inputHidden.Groups[2].Value; Match captcha = Regex.Match(webPage, @"/back/modules/golden/captcha.php\?PHPSESSID=(.*)&rnd=(\d*)"); information.PHPSESSID = captcha.Groups[1].Value; return @"http://www.mts.com.ua" + captcha.Value; } catch (Exception e) { infoText = "MTC: GET Error - " + e.Message; return null; } #region Original MTS //infoText = "\"МТС за зміст SMS не відповідає\" -\nцей інформаційний текст MTC буде\nдодано до Вашого повідомлення."; //string smsLink = "http://www.mts.com.ua/ukr/sendsms.php"; //WebRequest request = WebRequest.Create(smsLink); //request.Timeout = 2000; //HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //// //StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("windows-1251")); //string webPage = reader.ReadToEnd(); //response.Close(); //Match inputHidden = Regex.Match(webPage, @"<input type=""hidden"" name='(.*)' value=""(\d*)"" >"); //information.HiddenName = inputHidden.Groups[1].Value; //information.HiddenValue = inputHidden.Groups[2].Value; //Match captcha = Regex.Match(webPage, @"/back/modules/golden/captcha.php\?PHPSESSID=(.*)&rnd=(\d*)"); //information.PHPSESSID = captcha.Groups[1].Value; //string captchaURI = @"http://www.mts.com.ua" + captcha.Value; ////CaptchaImg.Source = new BitmapImage(new Uri(captchaURI)); //return captchaURI; #endregion }
public WinHttpUtils() { winhttp = new WinHttpRequestClass(); }