Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?



  • Как через действие "Выполнить код", отправить капчу на 2captcha, с перехватом и решением через Капмонстр2 ? Разрешить кеш - не помогает.
    Этот код отправляет не ту капчу , которая отображается:

    solver_properties_clear("capmonster")
    solver_property("capmonster","serverurl",{{server}})
    solver_property("capmonster","CapMonsterModule","ZennoLab.yandex")
    capmonster({{key}})
    
    cache_get_base64("*https://ext.captcha.yandex.net/image?key*")!
    solve_base64("capmonster", _result())!
    [[CAPTCHA_RESULT]] = _result()
    

    alt text

    alt text



  • @revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:

    Как через действие "Выполнить код", отправить капчу на 2captcha, с перехватом и решением через Капмонстр2 ? Разрешить кеш - не помогает.
    Этот код отправляет не ту капчу , которая отображается:

    solver_properties_clear("capmonster")
    solver_property("capmonster","serverurl",{{server}})
    solver_property("capmonster","CapMonsterModule","ZennoLab.yandex")
    capmonster({{key}})
    
    cache_get_base64("*https://ext.captcha.yandex.net/image?key*")!
    solve_base64("capmonster", _result())!
    [[CAPTCHA_RESULT]] = _result()
    

    alt text

    alt text

    Если вы выполняете регистрацию в браузере, то лучше используйте стандартное действие. Если на запросах, то там нет кеша и нужно получать изображение капчи в base64 дополнительным запросом.



  • @fox said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:

    получать изображение капчи в base64 дополнительным запросом.

    Через какое действие получать изображение капчи в base64 дополнительным запросом?



  • @revers get запросом. Получаете урл капчи, потом запросом получаете саму капчу и берете содержание ответа в base64 кодировке.



  • @uraabk said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:

    @revers get запросом. Получаете урл капчи, потом запросом получаете саму капчу и берете содержание ответа в base64 кодировке.

    В этом случае, капча с формы регистрации не совпадает с ссылкой картинки капчи, по которой потом делаю GET запрос. То есть сначала GET запрос к форме регистрации, первым вхождением получаю ссылку на страницу капчи. Далее GET по урлу капчи, но она не такая как в форме регистрации. Как решить капчу не переходя по её урлу, через http-клиент?



  • @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 дня не решили эту задачу советами, скидывайте скрипт, гляну



  • Ну раз за 4 дня не решили эту задачу советами, скидывайте скрипт, гляну

    С яндексом я решил проблему , там через браузер. Это другой сайт, тут нужно через запросы, проблема на похожую тему.



  • @revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:

    Ну раз за 4 дня не решили эту задачу советами, скидывайте скрипт, гляну

    С яндексом я решил проблему , там через браузер. Это другой сайт, тут нужно через запросы, проблема на похожую тему.

    Совет тот же - скидывайте проект. Я много на каких сайтах видел капчу, которая подгружается один раз одним запросом, а при повторном запросе подгружается уже другая капча.



  • @fox Уже решил проблему, всё оказалось проще , чем я думал )



  • @revers said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:

    @fox Уже решил проблему, всё оказалось проще , чем я думал )

    тогда озвучьте своё решение, вдруг кто нибудь столкнётся с подобной проблемой



  • делаю запрос на получение капчи гет запросом, в ответ приходит картинка в формате пнг, вызываю содержание ответа,затем кодирую в бас64 и отправляю на решение в мануал режиме, но ничего не видно на месте где должна быть капча. В гет запросе нажимаю посмотреть содержимое ответа и там открывается картинка капчи, где ошибка ?



  • @monbut said in Как отправить нужную капчу в Капмонстр2 при регистрации на Яндекс?:

    делаю запрос на получение капчи гет запросом, в ответ приходит картинка в формате пнг, вызываю содержание ответа,затем кодирую в бас64 и отправляю на решение в мануал режиме, но ничего не видно на месте где должна быть капча. В гет запросе нажимаю посмотреть содержимое ответа и там открывается картинка капчи, где ошибка ?

    Содержания ответа не надо кодировать в base64, нужно получать ответ в base64:
    0_1556508162312_d6fd0fd7-747e-4452-8321-7c54cbeee153-изображение.png



  • @fox спасибо за пример, теперь все работает )



  • @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))
            }
        }
    }
    

    может кому пригодится)



  • Buffer_cannot_be_null. Parameter_name:_buffer

    вот такая ошибка в логе , кеш разрешил , как то раз прошло но не понял как


Log in to reply