Ngăn không cho request object của Flask decode URI

Xin chào các bạn :smiley: , mình đang có một vấn đề khi làm việc với flask.Request object. Cụ thể mình có một hàm như ở dưới

from flask import request
...
...
@app.route('/api/device=<device>/<path:suffix>', methods = ['POST', 'PUT', 'GET', 'DELETE', 'PATCH'])
def device_request_detail(device, suffix):
    s = request.suffix  # nếu lấy trực tiếp s = suffix vẫn bị

khi mình start app lên và nhập url với dạng

http://ip:5000/api/device=device1/interface=AB%200%2F1

, cái mình muốn là lấy ra suffix của request, nhưng khi lấy suffix ra bằng

s = request.suffix

thì các ký tự đặc biệt bị decode thành interface=AB 0/1, mình muốn nó giữ nguyên interface=AB%200%2F1. Mình có đọc tài liệu http://flask.pocoo.org/docs/1.0/api/#flask.Request.environ thấy có chỗ dùng query_string nhưng không được. Nói chung thì bây giờ mình không biết cách làm thế nào để cho nó không bị decode. :sob: Mong được giúp đỡ.

chắc xài urllib.parse.quote để convert nó lại :V

2 Likes

:v hiện tại xài đỡ cách đó đây bro, thank

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?