У меня есть сайт HTML, на котором нет ничего, кроме кнопки с событием нажатия, которое вызывает функцию JavaScript с единственной целью создания всплывающего окна. Указанное всплывающее окно должно содержать ответ на запрос GET, сделанный в отдельном файле python, в котором есть некоторый код для связи с API платежного шлюза. Проблема в том, что всплывающее окно JavaScript оказалось пустым, потому что я не знаю, как объединить все 3 отдельных файла. Я проверил тонны материала без удачи. Я должен упомянуть, что было бы лучше, если бы не добавлялись дополнительные библиотеки, поскольку это для будущей реализации Odoo (ERP), и эта платформа не допускает импорт python библиотек, отличных от выбранных (насколько я знаю). ). Подключение к API работает, когда вы запускаете код через терминал, почтальона, бессонницу и т. Д. c ... Мне просто нужна помощь, чтобы выяснить, как собрать все воедино, чтобы получить доступ через веб-браузер.
Любая помощь с благодарностью. Это HTML Страница:
Это окно POP-UP JavaScript:
function popupwindow(url, title, w, h) {
let left = (screen.width / 2) - (w / 2);
let top = (screen.height / 2) - (h / 2);
popup = window.open(url, title, 'toolbar=no, location=0, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top = '+top+', left = '+left+' ');
return popup;
}
Это запрос POST / GET Python:
import warnings
import contextlib
import requests
from urllib3.exceptions import InsecureRequestWarning
old_merge_environment_settings = requests.Session.merge_environment_settings
@contextlib.contextmanager
def no_ssl_verification():
opened_adapters = set()
def merge_environment_settings(self, url, proxies, stream, verify, cert):
# Verification happens only once per connection so we need to close
# all the opened adapters once we're done. Otherwise, the effects of
# verify=False persist beyond the end of this context manager.
opened_adapters.add(self.get_adapter(url))
settings = old_merge_environment_settings(self, url, proxies, stream, verify, cert)
settings['verify'] = False
return settings
requests.Session.merge_environment_settings = merge_environment_settings
try:
with warnings.catch_warnings():
warnings.simplefilter('ignore', InsecureRequestWarning)
yield
finally:
requests.Session.merge_environment_settings = old_merge_environment_settings
for adapter in opened_adapters:
try:
adapter.close()
except:
pass
idcliente = '97bd8cf4-e894-4cb5-b8cc-3fc31f79c81a'
valor = 35.00
id_transaccioncomercio = 1001
get_url = 'https://test.serfinsacheckout.com:8080/Pay/GateWay?token=' + idcliente + '&idTransaccion=2565'
post_url = 'https://test.serfinsacheckout.com:8080/api/PayApi/TokeyTran'
payload = {
'TokeyComercio': idcliente,
'Monto': valor,
'IdTransaccionCliente': id_transaccioncomercio
}
with no_ssl_verification():
r = requests.get(get_url)
# print("Status Code: {} [OK]".format(r.status_code))
print(r.content)
with no_ssl_verification():
r = requests.post(post_url, data = payload)
print(r.json())
Session = requests.Session()
Session.verify = True