Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Значит решил я в программе, добавить еще и сервис антикапчи. Прочел про API у антигейта, пробую отправить запрос, а он мне пишет либо: Что не существует данный аккаунт, либо, что нету капчи для отправки, мой POST запрос:
Регистрации. Просто там регистрация только по приглашениям.
Quote (Сергей)
Плагин Алиена в помощь
Сейчас попробую
Добавлено (19 Сентябрь 2011, 14:58) --------------------------------------------- Только вот я не пойму, раз POST запрос не умеет отправлять бинарные файлы, то разработчики в FAQ'e по API зря написали, что ли способ с POST запросом?
В каждом человеке солнце. Только дайте ему светить.(с)Сократ
это не сюда, есть тема этого плага, спроси у Артема может ли плаг вообще отправлять... Что, вы как, дети, е-мое
Добавлено (10 Октябрь 2011, 20:37) --------------------------------------------- есть одна идейка, возможно и получится. Только где проверить. Скажи альтернативный сервер с открытым доступом, т.е. без этих дотошных регистраций
Добавлено (10 Октябрь 2011, 20:41) --------------------------------------------- они вообще какие методы принимают?! Если изображение в base64 переслать, то поймут?!
Добавлено (10 Октябрь 2011, 20:52) --------------------------------------------- попробуй, прокатит нет?!
Тут вот какие соображения, во первых, и сервис сей не безплатен, хоть и по мелочам но нуна платить. Во вторых, каптча и предназначена что бы отфильтровать бота от человека. В третьих, я бы как то мог бы понять написание подобного бота, в чисто интересах технического плана, так скать, для его создания необходимо овладеть кучей знаний, а это весьма полезно. А вот использовать сторонний сервис, как то не очень. Тут на первом плане не создание чего то а просто желание как можно проще решить конкретную нужду. Кто ни будь, из вас, вообще разбирался ли в механизме каптчи?
Quote (Сергей)
они вообще какие методы принимают?! Если изображение в base64 переслать, то поймут?!
А для этого вам уж нуна хттп протокольчик изучать, в частности заголовок Content-Transfer-Encoding, там ведь нет такого понятия понимают не понимают, когда ты че то передаеш то должен сообщить что и в каком виде. Ну и браузер нб без излишних мучений отправит по назначению все что умеет, да и ответ можно заполучить в нб внедрив ява скрипт. Вот где непаханное поле. В делах с хтмл страницами, вы предпочитаете парсить до победного конца, хотя более правильней и изящней возложить сею работу на яваскрипт, который сразу вам выдаст искомое.
И вообще, браузер весьма богатый и мощный инструмент.
Отправить программно файл от юзера до сервера весьма проблиматичная задача, требующая определенных знаний. Обусловлено это неудобство безопасностью. Если бы надо было просто отправить, то делов то - кинуть форму и инпут с типом file.
Но автору надо программно методом post, значит форма отпадает. Насколько мне известно, то можно поизголятся аяксом или через iframe. Другие варианты в связке с НБ мне неизвестны. Имеющийся плагин TСP не может отправить, по FTP ему не надо, ну вот вобщем и весь выбор
А что мешает сделать браузер скрытым и отправлять форму по команде BrowserExecScript ?
Quote (Сергей)
Обусловлено это неудобство безопасностью.
Если конечно ты не нашел способ(?!) вставки значение в инпут филе(<input type="file")который отвечает за отправку файла. Он доступен только для чтения, что в НБ, что в JS
Сообщение отредактировано Сергей - Вт, 11 Октября 2011, 09:34
Ну это уже не моя забота, пользователи сами по желанию будут платить
А вообще - конечно можно сначала пройти авторизацию, потом зайти в страницу РУЧНОЙ загрузки капчи, заполнить все нужное с помощью команд для Веб-браузера, и отправить и ждать, но тут и вся фича в том - что: 1. Очень геморно и долго(Я по отношению к пользователям) 2. Пользователи должны будут ввести Логин и пароль - и многим это покажется странным В каждом человеке солнце. Только дайте ему светить.(с)Сократ
Только вот я не пойму, раз POST запрос не умеет отправлять бинарные файлы, то разработчики в FAQ'e по API зря написали, что ли способ с POST запросом?
написали не зря, там вроде действительно требуется просто указать путь к файлу в запросе и все.
проблемы могут быть например в требованиях указания заголовков Content-Type, они разные для разных типов картинок капчи (gif/jpeg), в нб их нельзя вручную указать.
дай мне ключ доступа от аккаунта с ненулевым балансом, я попробую потестировать в чем дело. ключ потом сменишь. Как задавать вопросы
были, неософт развели только на [HTTPAgent] и [HTTPReferrer]. По идее, если добавлять заголовки, так все возможные, но вот только нужны они бывают редко. Можно поныть на оффоруме про остальные, добавить их нетрудно.
вопрос вроде решен, хоть и не без извращений. Как все проверю расскажу как. Тело запроса все таки нужно формировать вручную, согласно api. Файл пересылать как текст, контролируя Content-Type. Такие извраты internetpost не поймет, сделал через vbs-функцию. А может кто-то и плаг сделает, это несложно должно быть.
Добавлено (16 Октябрь 2011, 12:18) --------------------------------------------- еще вопрос - капча читается с локального файла, а может проще InternetGet сразу URL к файлу? но нужно учитывать что большинство капч генерируются скриптом, и при каждом обращении меняются. http://neobooker.ru/secure/?k=484081458052850294;s=index;tm=1318752793
т.е. капча и данные запроса могут не совпасть если сначала например получить страницу данных (там будет и капча) а потом запросить еще раз капчу в файл или переменную. Каким образом в твоем проекте получается капча?
проблема не в этом, а как заставить нб это сделать. тут затык с чтением бинарного файла блин... он должен отправляться как текст, а символы обрезаются при чтении (пытаюсь png прочитать)... работает только если из блокнота скопипастить вручную в поле ввода... Как задавать вопросы
Значит проблемы решены кодированием файла в Base64 и отправкой обычным InternetPost.
Используются функции ReadBinFile для чтения и кодирования, UrlEncode для конвертации в percent-encoding для отправки данных через url. Это с успехом может быть заменено (платным) плагином npUtil (команды npBase64Encodefile и npUrlEncode), которые не помешает кстати и в нашем плагине zmFunctions замутить давно просили Peter'a, но он не чешется пока к сожалению.
Синтаксис и правила api понятны из кода, прокомментировано.
Качество распознавания не совсем чтобы, но хорошее. На опции нередко не обращается внимание почему-то.
Если нужно что-то еще, можно сделать по аналогии самому, или попросить меня. Там только основное реализовано.
Значит проблемы решены кодированием файла в Base64 и отправкой обычным InternetPost.
странно, я кодировал и отправлял интерпостом не работало... Все равно запрос летит текстом. Тут важно знать возможности сценария на сервере. Если включена обработка Base64, то хорошо Я тестировал обычными функциями upload,move и т.д. и они не понимают строку=Base64 им файл подавай
Значит проблемы решены кодированием файла в Base64 и отправкой обычным InternetPost.
Проверил - все работает хорошо. Ну просто ОГРОМНОЕ спасибо!
Добавлено (28 Октябрь 2011, 16:34) --------------------------------------------- Заметил, что в 70% отправки капчи, возникает ошибка ERROR_WRONG_ID_FORMAT, т.д. Не корректный файл капчи.
В каждом человеке солнце. Только дайте ему светить.(с)Сократ
С данным плагином все так же работает) Но стремно то, что перед выполнением команды из плагина, вылетает окошко, ибо купите полную версию На офф сайте я не нашел плагина, скачал с neoplugins.com В каждом человеке солнце. Только дайте ему светить.(с)Сократ
т.е. с плагином работает а с функцией нет? дай мне эти капчи ошибочные и ключ если менял
Добавлено (28 Октябрь 2011, 17:48) --------------------------------------------- т.е. ты тестируешь массовые отправки капчи (согласно ихнему api или сам чтото мутишь?) так что не работает то, при одиночной капче или массовой? а плагин работает в обоих случаях?
Добавлено (28 Октябрь 2011, 17:49) --------------------------------------------- чтото ты меня запутал. скажи что ты делаешь и где ошибка, пришли капчу ошибочную.
Добавлено (28 Октябрь 2011, 17:50) --------------------------------------------- или капчи...
зачем всю, покажи нужный кусок кода или мини-демку сделай с проблемной частью. или всю, я посмотрю. если сегодня не успею, то только послезавтра. Как задавать вопросы
взял. ну ты извратился! засунул в цикл запрос статуса. капча то проходит (выдает ок с кодом), а потом тупит чето. здесь надо элегантнее делать, возможно с таймером. надо короче сперва заслать все капчи, контролируя прошли они или нет. на это уйдет какое-то время. А потом как раз запрашивать результаты, возможно кучей. А так ты ждешь каждую капчу пока не распознается, это неэффективно и лишняя нагрузка на сервак антигейта который тоже подтупливает. так до утра список будешь прогонять. тут блок проверки капч переделать вообще надо весь, попробую послезавтра только. щас пока погоняю капчи в разных режимах, я так понял они все с аськи... Как задавать вопросы
тут блок проверки капч переделать вообще надо весь, попробую послезавтра только. щас пока погоняю капчи в разных режимах, я так понял они все с аськи...
Именно Так же в саму программу я встроил 5 потоков работы по выбору, в этом тоже тормоза есть( В каждом человеке солнце. Только дайте ему светить.(с)Сократ
таймеры? это не потоки а симуляция. возьми допустим типовой алгоритм и запусти его сначала 5 раз подряд, а затем в 5-ти таймерах сразу. Увидишь выигрыш по времени? А в глюках выигрыш увидишь.
Если хочешь сымитировать более реально многопоточность, то скопипасти проект в пять одинаковых проектов, скомпилируй как модули и запускай кучей (или как пять отдельных программ). Надо кстати поэкспериментировать с этим, выйдет ли что нибудь толковое... Как задавать вопросы