И в чем была ошибка? Просветите пожалуйста как вы решили проблему? На будущее пользователям пригодится.разобрался. все прекрасно работает без этого &th= параметра
как я понял он нужен для того что бы капчи были такие 1425, 264 а не такие street 15300 =)
а не подскажите как это прописать в коде?)url лежит в tmp[0], если (tmp.Length > 1)
а не подскажите как это прописать в коде?)
//Отправка капчи из картинки
var captcha__get = project.Variables["captcha__get"].Value;
var image = System.Drawing.Image.FromFile(@captcha__get);
string base64String = String.Empty;
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] imageBytes = ms.ToArray();
base64String = Convert.ToBase64String(imageBytes);
}
var result = ZennoPoster.CaptchaRecognition("Anti-Captcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1)
{
project.Variables["UrlError"].Value = tmp[1];
return tmp[0];
}
return result;
//Отправка капчи из картинки
var captcha__get = project.Variables["captcha__get"].Value;
var image = System.Drawing.Image.FromFile(@captcha__get);
string base64String = String.Empty;
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] imageBytes = ms.ToArray();
base64String = Convert.ToBase64String(imageBytes);
image.Dispose();
}
var result = ZennoPoster.CaptchaRecognition("CapMonster2.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1)
{
File.Delete(captcha__get);
return tmp[0];
}
File.Delete(captcha__get);
return result;
А у меня в PM всё чётко - удаляет, а в ZP - нет, дает ошибку "Процесс не может получить доступ к файлу "D:\Dropbox\Иввайтинг\tmp_captcha\RND_50663.jpg", так как этот файл используется другим процессом."Вот сниппет разгадывания капчи с удалением ее после разгадывания из папки \Trash
P.S. спасибо сишарпщикам
Код://Отправка капчи из картинки var captcha__get = project.Variables["captcha__get"].Value; var image = System.Drawing.Image.FromFile(@captcha__get); string base64String = String.Empty; using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] imageBytes = ms.ToArray(); base64String = Convert.ToBase64String(imageBytes); image.Dispose(); } var result = ZennoPoster.CaptchaRecognition("CapMonster2.dll", base64String, ""); // отрезаем лишнее var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None); if (tmp.Length > 1) { File.Delete(captcha__get); return tmp[0]; } File.Delete(captcha__get); return result;
У меня было как раз такое, но этот сниппет удаляет с треша нормально.А у меня в PM всё чётко - удаляет, а в ZP - нет, дает ошибку "Процесс не может получить доступ к файлу "D:\Dropbox\Иввайтинг\tmp_captcha\RND_50663.jpg", так как этот файл используется другим процессом."
В чем проблема?
у меня шаб на запросах, и в ответе приходит картинка в base64. Вот и подумал, зачем делать глупые качели, ведь картинка потом все равно преобразуется в base и отправляется на распозавание в капмонстрТебе нужно скачать в начале капчу в папку, а потом путь положить в captcha__get и код выше отсылает уже.
Подскажите кто-нибудь , как в данном коде отправлять апи запросы для Antigate. И как добавить жалобу , что бы не списывались финансы.Тебе нужно скачать в начале капчу в папку, а потом путь положить в captcha__get и код выше отсылает уже.
А как дальше быть?
- //Отправка капчи из картинки
- var captcha__get = project.Variables["captcha__get"].Value;
- var image = System.Drawing.Image.FromFile(@captcha__get);
- string base64String = String.Empty;
- using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
- {
- image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
- byte[] imageBytes = ms.ToArray();
- base64String = Convert.ToBase64String(imageBytes);
- }
- var result = ZennoPoster.CaptchaRecognition("Anti-Captcha.dll", base64String, "");
- // отрезаем лишнее
- var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
- if (tmp.Length > 1)
- {
- project.Variables["UrlError"].Value = tmp[1];
- return tmp[0];
- }
- return result;