Получить ответ status_code при использовании флакона Python - PullRequest
0 голосов
/ 22 февраля 2019

Я хотел бы получить ответ HTTP status_code для служб мониторинга, использующих flashk python.

Мой код:

from flask import Flask, request, url_for, redirect, render_template, flash, Response, abort

import requests

res = requests.get('https://192.168.1.100:8000/token?api=API',verify=False)
app = Flask(__name__)
print(res.url) # your.domain/test/3/3

print(res.status_code) # 200

@app.route('/services')
def check_services():
   if request.method == "GET" or request.method == "POST": 
        if res.status_code == '201':
                result =  'Sucess HTTP.Status_code 201 - Service TOKEN is working fine [OK]'
               return render_template('services.html'), 201
#              result = '401 -- Service TOKEN is working fine - parameter is not correct'

        else:
#                abort(401)  
               return render_template('services401.html'),401  

, но мой код не работал правильно.

Мой ожидаемый результат, он будет возвращен отдельным кодом состояния HTTP: 201 или 401 или 500все, что я определяю в if состоянии.

Любая помощь приветствуется !!!

1 Ответ

0 голосов
/ 22 февраля 2019

Коды состояния int, а не str.Итак, проверьте с 201, а не '201'.Ваш код должен быть:

if request.method == "GET" or request.method == "POST": 
    if res.status_code == 201:
        # do what you want here

Подробнее см. Ниже.

>>> import requests
>>> r = requests.get('https://httpbin.org/get')
>>> r.status_code
200
>>> type(r.status_code)
<class 'int'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...