Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?
-
@revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@uraabk said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@revers get запросом. Получаете урл капчи, потом запросом получаете саму капчу и берете содержание ответа в base64 кодировке.
В этом случае, капча с формы регистрации не совпадает с ссылкой картинки капчи, по которой потом делаю GET запрос. То есть сначала GET запрос к форме регистрации, первым вхождением получаю ссылку на страницу капчи. Далее GET по урлу капчи, но она не такая как в форме регистрации. Как решить капчу не переходя по её урлу, через http-клиент?
А как вы поняли, что капча в форме регистрации другая? Открыв полученную форму в браузере? С этой формы открой в браузере уходит точно такой же запрос по url капчи, только повторно отправленный запрос возвращает уже другую капчу.
-
@fox said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@uraabk said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@revers get запросом. Получаете урл капчи, потом запросом получаете саму капчу и берете содержание ответа в base64 кодировке.
В этом случае, капча с формы регистрации не совпадает с ссылкой картинки капчи, по которой потом делаю GET запрос. То есть сначала GET запрос к форме регистрации, первым вхождением получаю ссылку на страницу капчи. Далее GET по урлу капчи, но она не такая как в форме регистрации. Как решить капчу не переходя по её урлу, через http-клиент?
А как вы поняли, что капча в форме регистрации другая? Открыв полученную форму в браузере? С этой формы открой в браузере уходит точно такой же запрос по url капчи, только повторно отправленный запрос возвращает уже другую капчу.
При POST запросе со всеми данными(отправка формы регистрации) и верной капчей, ответ приходит совсем другой. А у меня сейчас в ответе приходит html с формой регистрации, если нажимаю Просмотр, то там "Security Code is incorrect"
-
@revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@fox said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@uraabk said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@revers get запросом. Получаете урл капчи, потом запросом получаете саму капчу и берете содержание ответа в base64 кодировке.
В этом случае, капча с формы регистрации не совпадает с ссылкой картинки капчи, по которой потом делаю GET запрос. То есть сначала GET запрос к форме регистрации, первым вхождением получаю ссылку на страницу капчи. Далее GET по урлу капчи, но она не такая как в форме регистрации. Как решить капчу не переходя по её урлу, через http-клиент?
А как вы поняли, что капча в форме регистрации другая? Открыв полученную форму в браузере? С этой формы открой в браузере уходит точно такой же запрос по url капчи, только повторно отправленный запрос возвращает уже другую капчу.
При POST запросе со всеми данными(отправка формы регистрации) и верной капчей, ответ приходит совсем другой. А у меня сейчас в ответе приходит html с формой регистрации, если нажимаю Просмотр, то там "Security Code is incorrect"
Ну раз за 4 дня не решили эту задачу советами, скидывайте скрипт, гляну
-
@revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
Ну раз за 4 дня не решили эту задачу советами, скидывайте скрипт, гляну
С яндексом я решил проблему , там через браузер. Это другой сайт, тут нужно через запросы, проблема на похожую тему.
Совет тот же - скидывайте проект. Я много на каких сайтах видел капчу, которая подгружается один раз одним запросом, а при повторном запросе подгружается уже другая капча.
-
@revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
@fox Уже решил проблему, всё оказалось проще , чем я думал )
тогда озвучьте своё решение, вдруг кто нибудь столкнётся с подобной проблемой
-
делаю запрос на получение капчи гет запросом, в ответ приходит картинка в формате пнг, вызываю содержание ответа,затем кодирую в бас64 и отправляю на решение в мануал режиме, но ничего не видно на месте где должна быть капча. В гет запросе нажимаю посмотреть содержимое ответа и там открывается картинка капчи, где ошибка ?
-
@monbut said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
делаю запрос на получение капчи гет запросом, в ответ приходит картинка в формате пнг, вызываю содержание ответа,затем кодирую в бас64 и отправляю на решение в мануал режиме, но ничего не видно на месте где должна быть капча. В гет запросе нажимаю посмотреть содержимое ответа и там открывается картинка капчи, где ошибка ?
Содержания ответа не надо кодировать в base64, нужно получать ответ в base64:

-
@monbut Бас кроме всего прочего может очень неплохо обрабатывать картинки. Я развлекался нужно было для (капмонстра преобрабатывать ) немного вот примерно так можно по самой простой реализации превратить его в оттенки серого (но это по самой наглючей и наплевательской реализации) вторая из скрипта сделает примерно такое . Но сделает сильно зеленее) Разобраться с яркостью у меня не хватило терпения). В нем же он режет по порогу, если убрать if то оставит просто оттенки серого
for (var i = 0; i < [[IMAGE_WIDTH]]; i++) { for (var i_0 = 0; i_0 < [[IMAGE_HEIGHT]]; i_0++) { /*************************получаем цвет пикселя*************************/ var split = native("imageprocessing", "getpixel", (VAR_LOADED_IMAGE_ID) + "," + parseInt(i) + "," + parseInt(i_0)).split(",") VAR_PIXEL_R = parseInt(split[0]) VAR_PIXEL_G = parseInt(split[1]) VAR_PIXEL_B = parseInt(split[2]) VAR_PIXEL_A = parseInt(split[3]) /********************************наглая реализация ******************/ //VAR_PIXEL_R = parseInt((VAR_PIXEL_R+VAR_PIXEL_G+VAR_PIXEL_B)/3) //VAR_PIXEL_G = parseInt((VAR_PIXEL_R+VAR_PIXEL_G+VAR_PIXEL_B)/3) //VAR_PIXEL_B = parseInt((VAR_PIXEL_R+VAR_PIXEL_G+VAR_PIXEL_B)/3) /**********************приводим значения RGB к значениям из скрипта COLOR2GRAY по умолчанию http://www.fmwconcepts.com/imagemagick/color2gray/index.php*****/ VAR_PIXEL_R = parseInt((VAR_PIXEL_R * 299) / 1000).toFixed(3) if (parseInt(VAR_PIXEL_R.split(".")[1]) > 500) { VAR_PIXEL_R = parseInt(VAR_PIXEL_R) + 1 } else { VAR_PIXEL_R = parseInt(VAR_PIXEL_R) } VAR_PIXEL_G = parseInt((VAR_PIXEL_G * 587) / 1000).toFixed(3) if(parseInt(VAR_PIXEL_G.split(".")[1]) > 500) { VAR_PIXEL_R = parseInt(VAR_PIXEL_R) + 1 } else { VAR_PIXEL_G = parseInt(VAR_PIXEL_G) } VAR_PIXEL_B = parseInt((VAR_PIXEL_B * 114) / 1000).toFixed(3) if (parseInt(VAR_PIXEL_B.split(".")[1]) > 500) { VAR_PIXEL_B = parseInt(VAR_PIXEL_B) + 1 } else { VAR_PIXEL_B = parseInt(VAR_PIXEL_B) } /////устанавливаем цвет пикселя по порогу if(parseInt(VAR_PIXEL_R) <127 && parseInt(VAR_PIXEL_G)<127 && parseInt(VAR_PIXEL_B)<127){ native("imageprocessing", "setpixel", (VAR_CREATED_IMAGE_ID) + "," + (i) + "," + (i_0) + "," + (VAR_PIXEL_R) + "," + (VAR_PIXEL_G) + "," + (VAR_PIXEL_B) + "," + (VAR_PIXEL_A)) } } }может кому пригодится)
-
@monbut said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:
делаю запрос на получение капчи гет запросом, в ответ приходит картинка в формате пнг, вызываю содержание ответа,затем кодирую в бас64 и отправляю на решение в мануал режиме, но ничего не видно на месте где должна быть капча. В гет запросе нажимаю посмотреть содержимое ответа и там открывается картинка капчи, где ошибка ?
подскажи плз как ты этот запрос отправляешь чтобы получить картинку? И как отправить ее на любой сервис
-
Был у меня такой трабл. Там два вида каптчи, делаешь скриншот и отправляешь картинку, из кэша бесполезно. Причем там два разных модуля у капмонстра, нужно было научиться различать каптчи. У них вроде pixel разные были углов, не помню как к этому пришел)