Friend
Professional
- Messages
- 2,653
- Reaction score
- 851
- Points
- 113
Сегодня с покажу как прочекать карту на ВБВ средствами DELPHI & INDY.
[Поиск сайта]
Нам нужен сайт, где и будет происходить проверка на вбв. Я выбрал
.
На первый взгляд, самое сложное это загрузка капчи.
Итак, открываем капчу и смотрим: она располагается по адресу
она имеет .gif формат. Стандартными средствами Delphi его не прочитать.
Для этого я использовал библиотеку rxlib. (гугл в помощь)
[Загрузка капчи]
Кидаем на форму компонент Image из вкладки Additional и ставим размеры 200 на 50, такой размер имеет капча.
Далее добавляем в uses rxgif (для чтения капчи).
Теперь добавляем переменные:
Инициализируем эти переменные:
Делаем GET запрос на адрес, по которому располагается капча и сохраняем капчу в память:
Теперь загружаем капчу в Image
Все, капчу мы загрузили))
[Сам чек]
Подробно я описывать не буду, т.к в предыдущей статье я подробно все описал, просто прокомментирую код.
[Поиск сайта]
Нам нужен сайт, где и будет происходить проверка на вбв. Я выбрал
Code:
https://verified.visa.com/aam/data/default/landing.aam
На первый взгляд, самое сложное это загрузка капчи.
Итак, открываем капчу и смотрим: она располагается по адресу
Code:
https://verified.visa.com/aam/src/app/captcha.aam
Для этого я использовал библиотеку rxlib. (гугл в помощь)
[Загрузка капчи]
Кидаем на форму компонент Image из вкладки Additional и ставим размеры 200 на 50, такой размер имеет капча.
Далее добавляем в uses rxgif (для чтения капчи).
Теперь добавляем переменные:
Code:
- ms:tmemorystream; //выделяем память для капчи
- gif:tgifimage; // для загрузки капчи
Code:
ms:=tmemorystream.Create;
gif:=tgifimage.Create;
Code:
idhttp1.Get('https://verified.visa.com/aam/src/app/captcha.aam',ms);
Code:
ms.Position:=0;
gif.LoadFromStream(ms);
image1.Picture.Assign(gif);
[Сам чек]
Подробно я описывать не буду, т.к в предыдущей статье я подробно все описал, просто прокомментирую код.
Code:
data:=tstringlist.Create; // создаем stringlist
data.Add('pan='+ccnum.Text); // данные для пост запроса
data.Add('securityCode='+captcha.Text);
try
page:=idhttp1.Post('https://verified.visa.com/aam/src/app/ve.aam?partner=default&resize=no',data); // сам запрос.
finally
end;
if pos('not_valid_new.gif',page)<>0 then begin // анализируем ответ
label2.Caption:='Captcha Error!'; // если капча введена неверно
panel1.Color:=clyellow; // выдаем Captcha Error!.
exit;
end;
if pos('/scrn_2_hdr_text.jpg',page)<>0 then begin
label2.Caption:='No VBV!'; // если найдена картинка с именем
panel1.Color:=cllime; // scrn_2_hdr_text.jpg, то вбв нету
end // иначе вбв имеется.
else begin
label2.Caption:='With VBV!';
panel1.Color:=clred
end;