Скажите, на сколько реально вытащить капчу со страницы браузера, передать ее в антигейт? Для этого нужен какой-то скрипт + апиай антигейта? И сразу вопрос, сколько такое чудо может стоить? Образно задача простая: есть ИЕ11, в котором открываются сами страницы сайта, на которых есть капча, и вводятся руками, а надо както их вытаскивать и отдавать на антигейт. Спасибо.
Сначала нужно сохранить саму картинку капчи. А как ее отправить, может почитать на самом антигейте, там есть все необходимое почитай внимательно.
Читаю, все равно не могу себе это сложить. Может быть есть реализации, платные или нет. Любые. Или куда можно обратиться хотя бы подскажите.
На сайте антикаптчи есть примеры на разных языках. http://antigate.com/?action=api здесь в разделе "примеры и библиотеки". Выглядит это так - на нужно языке программирования пишется программа, которая загружает страницу, получает на ней изображение с капчей, шлет ее на антигей, потом уже используется разгаданное слово (вставляется в поле на сайте и отправляется в форме). Можно в раздел фриланса обратиться, там за небольшую плату сделают все.
на qtwebkit http://qt.io - скачиваешь qtcreator и пишешь на с++ qt фреймворке. http://stackoverflow.com/questions/10335780/how-to-get-pictures-from-qwebview потом делаешь программно скриншот экрана, и вырезаешь изображение с капчей, и уже отправляешь на anti-captcha.com но я делал это, и там получается не выгодно, на 1 страницу вконтакте, чтобы раскрутить её до 1000 друзей ушло на anti-captcha.com 2$. А эти 1000 друзей ни во что не сможешь сконвертировать.
Слегка абстрактный код, выдранный из рабочего скрипта для rucaptcha на node js, но принцип, думаю понятен. //обертка над http.request request = function(host, port, path, cookie, post, callback) { var data = { header: '', content: '', error: ''}; var options = { host: host, port: port, path: path, headers: { Host: host, cookie: cookie, 'user-agent': 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:37.0) Gecko/20100101 Firefox/37.0'}}; var request = http.request(this.options, function(response) { response.setEncoding('binary'); data['header'] = response.headers; response.on('data', function(chunk) { data['content'] += chunk;}); response.on('end', function() { callback(data);});}); request.end();}; //получаем captcha request('captcha_host.com', null, '/captcha_url', null, null, function(data) { var captcha = new Buffer(data['content'], 'binary').toString('base64'); //загружаем на rucaptcha var post = { method: 'base64', key: 'your rucaptcha key', body: captcha}; request('rucaptcha.com', null, '/in.php', null, post, function(data) { var expr = new RegExp('OK\\|(\\d+)'); var res = expr.exec(data['content']); var id = res[1]; //функция получения результата var getCaptchaResult = function(id) { var event = new events.EventEmitter(); request('rucaptcha.com', null, '/res.php?key=' + 'your rucaptcha key' + '&action=get&id=' + id, null, null, function(data) { var expr, res; expr = new RegExp('OK\\|(\\S+)'); res = expr.exec(data['content']); if(res) { console.log('captcha: check result: done'); event.emit('done', res[1]); return;} if(data['content'] == 'CAPCHA_NOT_READY') { event.emit('notready', data); return;} console.log('captcha: check result: fail'); event.emit('fail', data); return;}); return event;}); //функция проверки результата var checkCaptchaResult = function(id) { var res = getCaptchaResult(id); var captcha_key = ''; res.on('done', function(data) { captcha_key = data;}); res.on('notready', function(data) { checkCaptchaResult(id);}); res.on('fail', function(data) { console.log('captcha: check result: fail');});}; //запускаем рекурсивно checkCaptchaResult(id);});});