Запрос к сайту и ошибка "something wrong" - C#
Формулировка задачи:
Здравствуйте, есть сайт Moonbitcoin.
Нужно на него посылать пост запрос.
Просниферил браузерный запрос, попытался его скопировать для программы, вышел такой код:
Эта функция должна отослать ответ на капчу и "номер" капчи. Но в ответ меня переадресовывает на страницу ошибки "something wrong"
public static string Post(string login, string otvet) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://moonbit.co.in/"); req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"; req.Host = "moonbit.co.in"; req.Headers.Add("Origin: http://moonbit.co.in"); //req.KeepAlive = true; req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"; req.Method = "POST"; req.CookieContainer = new CookieContainer(); req.KeepAlive = true; //req.Headers.Add("Cache-Control: max-age=0"); req.ContentType = "application/x-www-form-urlencoded"; req.Referer = "http://moonbit.co.in/"; //req.Headers.Add("Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"); //req.Headers.Add("Accept-Encoding: gzip, deflate"); req.CookieContainer = new CookieContainer(); req.CookieContainer.Add(new Cookie("user", "PaymentAddress=" + login) { Domain = "moonbit.co.in"}); //================= string data = Get("http://moonbit.co.in", "moonbit.co.in", false, false, false, false); string __VIEWSTATE = Parse(data, "id=\"__VIEWSTATE\" value=\"", "\"/>"); string __VIEWSTATEGENERATOR = Parse(data, "id=\"__VIEWSTATEGENERATOR\" value=\"", "\"/>"); string __EVENTVALIDATION = Parse(data, "id=\"__EVENTVALIDATION\" value=\"", "\"/>"); //================= string postData = "__EVENTTARGET=&__EVENTARGUMENT=&" + "__VIEWSTATE=" + __VIEWSTATE + "&" + "__VIEWSTATEGENERATOR=" + __VIEWSTATEGENERATOR + "&" + "__EVENTVALIDATION=" + __EVENTVALIDATION + "&" + "AB=false&" + "adcopy_response=" + otvet + "&" + "adcopy_challenge=" + challange + "&" + "ctl00$PagePopupPlaceholder$ClaimButton=submit&" + "ctl00$PagePopupPlaceholder$ClaimReadyAlertOption=on&" + "ctl00$PagePopupPlaceholder$ClaimAmountAlertValue=500&" + "ctl00$PagePopupPlaceholder$PageTitleAlertOption=on&" + "ctl00$PagePopupPlaceholder$PlaySoundAlertOption=on"; //Encoding encoding = Encoding.UTF8; byte[] byte1 = System.Text.Encoding.ASCII.GetBytes(postData); req.ContentLength = byte1.Length; Stream st=req.GetRequestStream(); st.Write(byte1, 0, byte1.Length); st.Close(); using (HttpWebResponse httpWebResponse = (HttpWebResponse)req.GetResponse()) { using(StreamReader reader = new StreamReader(httpWebResponse.GetResponseStream())){ return reader.ReadLine(); } } }
Решение задачи: «Запрос к сайту и ошибка "something wrong"»
textual
Листинг программы
byte[] EncodedPostParams = Encoding.GetEncoding(1251).GetBytes( boundary + "\r\nContent-Disposition: form-data; name=\"rm\"\r\n\r\nexecuted-puzzle\r\n" + boundary + "\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n" + puzzlestring + "\r\n" + boundary + "\r\nContent-Disposition: form-data; name=\"blocks\"\r\n\r\noffice_prof_machine\r\n" + boundary + "\r\nContent-Disposition: form-data; name=\"blocks\"\r\n\r\nchat\r\n" + boundary + "\r\nContent-Disposition: form-data; name=\"wblocks_params\"\r\n\r\n\r\n" + boundary + "\r\nContent-Disposition: form-data; name=\"cwindow\"\r\n\r\noffice\r\n" + boundary);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д