Приветсвую. Перевели расчетный счет в другой банк. Требуется прикреплять QR код СБП к документу счета на оплату. При запросе по номеру заказа по API, банк выдает ссылку на СБП оплату, на старнице которой - qr код в data:image/svg+xml;base64 .
В html содержимом страницы и в атрибутах блоков - его нет. Найти его можно только во вкладке "Источники" в хроме. Работал кто с таким? В принципе, не принципиально на каком языке будет решение
Для вундеркиндов:
обращаемся к банку по api, они нам генерируют ссылку на оплату сбп. На этой странице qr код, его необходимо извлечь, чтобы в дальнейшем прикрепить к документу. Ни в атрибутах, нигде в html ссылки на само изображение нету, есть только во вкладке хрома: Источники. Вопрос стоит в том, как его извлечь из источников
rPman, обращаемся к банку по api, они нам генерируют ссылку на оплату сбп. На этой странице qr код, его необходимо извлечь, чтобы в дальнейшем прикрепить к документу. Ни в атрибутах, нигде в html ссылки на само изображение нету, есть только во вкладке хрома: Источники. Вопрос стоит в том, как его извлечь из источников
А если серьезно, в чем проблема?
У вас есть строка base64. Если вы в JS работаете, то загоняете ее в src канваса а дальше делаете с канвасом, что хотите, хоть бинарник jpg/png извлекаете. Если в другой среде работаете, то там свой объект или вспомогательная библиотека нужна, чтобы привычный бинарник вытащить или конвертнуть в нужный формат.
glu-dimaz, попробуй глянуть ГОСТ 56042-2014 - вероятно вам следует свой qr-код сгенерировать, а не использовать тот, который дал банк - обычно такие коды используют для печати на документах. (там закодирован номер счёта и суммма)
Код СБП предполагает показ на экране и имеет ограниченное время действия как правило, что делает его бесполезным при использовании на бумажных доках.
В html содержимом страницы и в атрибутах блоков - его нет. Найти его можно только во вкладке "Источники" в хроме.
Вкладка "источники" в хроме - это и есть содержимое страницы.
Вероятно данные qr-кода достаются отдельным http-запросом - попробуй глянуть во вкладку network.
И что за банк? Его документация публичная?
Пробовали ещё о своей проблеме спрашивать в поддержке банка? Возможно у них уже есть решение для вашего случая.
В любом случае - во всяких платёжных штуках опираться на такую ненадёжную вещь как вёрстку и парсинг - это крайне рискованно. Банк обязательно когда-нибудь без предупреждения изменит эту страницу с оплатой и у вас всё поломается.
glu-dimaz, источник транслирует результат выполнения по конкретному url. Если в этот же url постучать с той же сессией, одноразовым токеном и куками, то вы получите тот же самый результат, что и транслирует браузер.
glu-dimaz, источники страницы - это и есть html код.
Но тебе нужно запускать полноразмерный браузер.
Это явно не то направление, которое вам нужно - там очень много мест, где всё может поломаться.
Вам не нужно заходить на эту страницу.
Просто берете библиотеку, которая преобразует ссылку в QR-код.
И загоняете ссылку (буквально этот текст) в эту библиотеку:
glu-dimaz, qr-код - это лишь способ отображения сведений.
API дает ссылку, а ты уже крутись как хочешь, чтобы ее передать в приложение банка клиента.
Как рисовать QR - это проблема клиентской стороны приложения.