Запрос POST / GET с файлами * / 1000 * & Python вместе с сайтом HTML - PullRequest
0 голосов
/ 12 марта 2020

У меня есть сайт HTML, на котором нет ничего, кроме кнопки с событием нажатия, которое вызывает функцию JavaScript с единственной целью создания всплывающего окна. Указанное всплывающее окно должно содержать ответ на запрос GET, сделанный в отдельном файле python, в котором есть некоторый код для связи с API платежного шлюза. Проблема в том, что всплывающее окно JavaScript оказалось пустым, потому что я не знаю, как объединить все 3 отдельных файла. Я проверил тонны материала без удачи. Я должен упомянуть, что было бы лучше, если бы не добавлялись дополнительные библиотеки, поскольку это для будущей реализации Odoo (ERP), и эта платформа не допускает импорт python библиотек, отличных от выбранных (насколько я знаю). ). Подключение к API работает, когда вы запускаете код через терминал, почтальона, бессонницу и т. Д. c ... Мне просто нужна помощь, чтобы выяснить, как собрать все воедино, чтобы получить доступ через веб-браузер.

Любая помощь с благодарностью. Это HTML Страница:

image

Это окно 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...