как получить данные из текста / html ответ API в Django - PullRequest
1 голос
/ 23 февраля 2020

Я отправляю почтовый запрос в API (FortPay-Payment Gateway) в формате Json и получаю Ответ в текстовом формате / html с того же URL-адреса ... Мне нужно получить данные, отправленные в этом ответе, так как он содержит токен, который мне нужен для повторного использования

Это мой запрос в views.py:

def DayTourCreditInput(request, buyer_id):
    buyer = get_object_or_404(DayBuyer, id=buyer_id)

    redirectUrl ='https://checkout.payfort.com/FortAPI/paymentPage'

    requestParams = {
        'service_command ' : 'TOKENIZATION',
        '********' : '********************' #etc.
     }
     r = requests.post(redirectUrl, params=requestParams)
     content = r.text
     return HttpResponse(content, content_type='text/plain')

      ##I Tried r.json and r.json() and also return 
       #HttpResponse(contentJson, 
       #content_type='application/json') ... But all raises errors

Я искал cgi python, но недостаточно доступных документов + я не знаю, подходит ли это решение для этого случая или нет


Просто хочу заверить, что ответ сайта html документом с JavaScript включением в него

вот пример ответа от PayFort:

<!DOCTYPE html>






<html lang="en" class="body-background">
<noscript>
    <div class="noscript-message">
        <i class="icon-attention-circled"></i>  Hello, you seem to have JavaScript turned off. Please enable it to use the payment page.
        <div class="noscript-button-container">
            <div class="noscript-button ">
                <a href="http://www.enable-javascript.com/" target="_blank" class="">Show me how to enable it</a>
            </div>
        </div>
    </div>
</noscript>

<head>



<input type="hidden" id="card_no_invalid_warrning_msgH"
    value='Card number is <em>invalid.</em>'>
<input type="hidden" id="card_no_invalid_warrning_msgH"
    value='Card number is <em>invalid.</em>'>
<input type="hidden" id="card_bin_suppressed_warrning_msgH"
    value='This card is not supported for online purchases, please contact your bank for more information or use another card.'>
<input type="hidden" id="all_empty_warrning_msgH"
    value='Fields marked in <em>red</em> are mandatory to proceed.'>

<!-- and also it contains scripts  like that: -->


<script>



     var resposneBo ={"response_code":"00009","response_message":"Invalid merchant identifier","fort_id":null,"token":"15189DTowwMj9W59354916191697229893534"}; 





    //-----------------   import veriables   ----------------- 
    var cancelOperation = "general/cancelOperation";
    var cardStatusMissmatch = "1001";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...