AttributeError: 'str' object has no attribute 'status_code'

AttributeError: 'str' object has no attribute 'status_code'

我收到以下错误

AttributeError: 'str' object has no attribute 'status_code'

我正在通过 API 获取数据,当 API 关闭时,该值为 "down"

@app.route('/test_api')
def test_api():
    ipno = "192.168.0.120"
    port = "8060"

    url_time = 'https://{}:{}/time/'.format(ipno, port)
    url_member = 'https://{}:{}/member/'.format(ipno, port)
    url_state = 'https://{}:{}/state/'.format(ipno, port)

    if url_time.status_code == requests.codes.ok:

        r_time = _session.get(url_time).content
    else:
        r_time = "Time is down"

    if url_member.status_code == requests.codes.ok:

        r_member = _session.get(url_member).content
    else:
        r_member = "Member is down"

    if url_state.status_code == requests.codes.ok:

        r_state = _session.get(url_state).content
    else:
        r_state = "State is down"


    return render_template('test_api.html', time = json.loads(r_time), member=json.loads(r_member), state=json.loads(r_state))

在行if url_time.status_code == requests.codes.ok:中:

url_time 是一个字符串,这就是您收到错误的原因。字符串没有 status_code.

属性

您没有使用请求库发出实际请求:

url_time = 'https://{}:{}/time/'.format(ipno, port)
time_request = requests.get(url_time)
if time_request.status_code == requests.codes.ok:
    r_time = _session.get(url_time).content