регистрация пост запросом, помогите разобраться

elakeri

Client
Регистрация
23.07.2018
Сообщения
203
Благодарностей
10
Баллы
18
есть сайт http://www.stabilium.ru
рега идет на странице http://www.stabilium.ru/forum/?register=yes

значит я делаю запрос, чтобы взять куку для капчи http://joxi.ru/KAgjQ3LCX3MzV2
паршу урл капчи и разгадываю чз капмонстр кодом, не скачивая картинку
C#:
string captcha = string.Format(@"http://www.stabilium.ru{0}", project.Variables["captcha_url"].Value);

//Отправка капчи из картинки
byte[] imageArray = ZennoPoster.HTTP.RequestBytes(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, captcha, "", cookieContainer: project.Profile.CookieContainer);
string base64String = Convert.ToBase64String(imageArray);
var result = ZennoPoster.CaptchaRecognition("CapMonster2.dll", base64String, "");
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) {
    project.Variables["captcha_reportbad"].Value = tmp[1];
    return tmp[0];
}
return result;
потом делаю пост запрос на регу http://joxi.ru/KAxayEqt1Bx3Lr
ии... ни фига. все препробывал, и без куки контейнера куки прописывать, менять параметры и тд.. картинка с кукой не меняется при разгадывании, типа все норм с капчей, что с послдним пост запросом, не понятно, все с фидлера подставил..
может что то связанное с php сессией ?
казалось все просто, а не фига не просто )))
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 900
Благодарностей
2 635
Баллы
113
есть сайт http://www.stabilium.ru
рега идет на странице http://www.stabilium.ru/forum/?register=yes

значит я делаю запрос, чтобы взять куку для капчи http://joxi.ru/KAgjQ3LCX3MzV2
паршу урл капчи и разгадываю чз капмонстр кодом, не скачивая картинку
C#:
string captcha = string.Format(@"http://www.stabilium.ru{0}", project.Variables["captcha_url"].Value);

//Отправка капчи из картинки
byte[] imageArray = ZennoPoster.HTTP.RequestBytes(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, captcha, "", cookieContainer: project.Profile.CookieContainer);
string base64String = Convert.ToBase64String(imageArray);
var result = ZennoPoster.CaptchaRecognition("CapMonster2.dll", base64String, "");
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) {
    project.Variables["captcha_reportbad"].Value = tmp[1];
    return tmp[0];
}
return result;
потом делаю пост запрос на регу http://joxi.ru/KAxayEqt1Bx3Lr
ии... ни фига. все препробывал, и без куки контейнера куки прописывать, менять параметры и тд.. картинка с кукой не меняется при разгадывании, типа все норм с капчей, что с послдним пост запросом, не понятно, все с фидлера подставил..
может что то связанное с php сессией ?
казалось все просто, а не фига не просто )))
На сколько я вижу, данные летят примерно в таком виде:
Код:
backurl=%2Fforum%2Findex.php&AUTH_FORM=Y&TYPE=REGISTRATION&USER_NAME=%D0%92%D0%B0%D1%81%D1%8F&USER_LAST_NAME=%D0%9A%D0%BE%D0%BB%D1%8F&USER_LOGIN=ff123&USER_PASSWORD=123456&USER_CONFIRM_PASSWORD=123456&USER_EMAIL=tiviedia1976%40applejftwn.club&captcha_sid=ac8546f81cc0fd3d1c34d9429c52987c&captcha_word=RN83A&Register=%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F
Сборку данных можно проводить примерно так подставив свои значения (переменные):
Код:
List<string> list = new List<string>();
list.Add(string.Format(@"backurl={0}",Macros.TextProcessing.UrlEncode("значение")));
list.Add(string.Format(@"AUTH_FORM={0}","Y"));
list.Add(string.Format(@"TYPE={0}","REGISTRATION"));
list.Add(string.Format(@"USER_NAME={0}","значение"));
list.Add(string.Format(@"USER_LAST_NAME={0}","значение"));
list.Add(string.Format(@"USER_LOGIN={0}","значение"));
list.Add(string.Format(@"USER_PASSWORD={0}","значение"));
list.Add(string.Format(@"USER_CONFIRM_PASSWORD={0}","значение"));
list.Add(string.Format(@"USER_EMAIL={0}","значение"));
list.Add(string.Format(@"captcha_sid={0}","значение"));
list.Add(string.Format(@"captcha_word={0}","значение"));
list.Add(string.Format(@"Register={0}","значение"));

string data = string.Join("&", list);
return data;
Я не проверял - но нужно попробовать 2 варианта - все значения одеть в Macros.TextProcessing.UrlEncode либо все значения не одевать (в зависимости от сайта может принимать в одном виде, может принимать в другом).
В целом, ничего сложного - данный код должен помочь.
 
  • Спасибо
Реакции: elakeri

elakeri

Client
Регистрация
23.07.2018
Сообщения
203
Благодарностей
10
Баллы
18
Спасибо, заработало!)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)