وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

نحوه دریافت هدر HTTP در یک برنامه Flask

0 3
زمان لازم برای مطالعه: 2 دقیقه


معرفی

در این بایت نگاهی به هدرهای درخواست HTTP در Flask خواهیم داشت. آنها می توانند اطلاعات مهمی را بین مشتری و سرور حمل کنند و درک نحوه دسترسی به آنها برای اکثر برنامه های وب پویا مورد نیاز است.

هدرهای درخواست HTTP چیست و چرا از آنها استفاده می کنیم؟

هدرهای HTTP به مشتری و سرور اجازه می دهند اطلاعات اضافی را با یکدیگر به اشتراک بگذارند و اغلب متادیتا را درخواست می کنند. به عنوان بخشی از یک درخواست یا پاسخ HTTP، هدر در صفحه وب نمایش داده نمی شود بلکه به سرور یا مشتری ارسال می شود. آنها می توانند حاوی اطلاعات مختلف زیادی باشند، مانند نوع مرورگر درخواست کننده، نوع محتوایی که برگردانده می شود، اطلاعات فردی کاربر و موارد دیگر.

با توجه به این موضوع، هدرهای HTTP را می توان برای چندین کار مانند احراز هویت، کنترل حافظه پنهان، اطلاعات اشکال زدایی/ ثبت نام و موارد دیگر استفاده کرد. آنها روشی انعطاف پذیر برای پیاده سازی ویژگی هایی ارائه می دهند که به صراحت توسط پروتکل استاندارد HTTP پوشش داده نمی شوند.

Flask، یک چارچوب وب میکرو در پایتون، دسترسی به هدرهای HTTP را بسیار آسان می کند. فلاسک request شی شامل تمام اطلاعاتی است که مرورگر مشتری به برنامه ارسال می کند. این شامل هدرهای HTTP می شود.

برای دریافت این هدرها می توانید از request.headers صفت. این ویژگی یک شی دیکشنری مانند را برمی گرداند و به شما این امکان را می دهد که مقادیر سرصفحه را با نحو استاندارد دیکشنری پایتون بازیابی کنید.

پیشنهاد می‌کنیم بخوانید:  شمارش تعداد رخدادهای عنصر در آرایه جاوا اسکریپت هنگام کار با آرایه‌ها در جاوا اسکریپت، اغلب با موقعیت‌هایی مواجه می‌شویم که از ما می‌خواهند تعداد وقوع یک عنصر خاص در آن آرایه را بشماریم - این عنصر می‌تواند یک رشته، شی، عدد یا حتی یک بولی باشد. . در این مقاله به چند روش برای شمارش می پردازیم...

در اینجا یک مثال ساده است:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def home():
    user_agent = request.headers.get('User-Agent')
    return f'Your user agent is: {user_agent}'

در این کد، ما یک برنامه اصلی Flask را با یک مسیر واحد ایجاد می کنیم. هنگامی که به صفحه اصلی می روید، Flask هدر ‘User-Agent’ را از درخواست بازیابی می کند و آن را به عنوان یک رشته برمی گرداند.

مثال کد عملی

بیایید به یک مثال کاربردی تر نگاه کنیم. فرض کنید یک API داریم که داده های مختلفی را بر اساس هدر «Accept-Language» برمی گرداند. این هدر زبان ترجیحی مشتری را به سرویس می گوید.

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/data')
def data():
    language = request.headers.get('Accept-Language')

    if language == 'en-US':
        return jsonify({'message': 'Hello, user!'})
    elif language == 'es-ES':
        return jsonify({'message': '¡Hola, usuario!'})
    elif language == 'es-SR':
        return jsonify({'message': 'Здраво, кориснику!'})
    else:
        return jsonify({'message': 'Hello, user!'})

در این مثال، API هدر «Accept-Language» را بررسی می‌کند و یک تبریک به زبان مناسب برمی‌گرداند. اگر زبان پشتیبانی نمی شود، به طور پیش فرض فقط انگلیسی را برمی گرداند.

نتیجه

در این بایت کوتاه، به طور خلاصه به سرفصل‌های درخواست HTTP در Flask نگاهی انداختیم، که شامل چیستی آنها، چرایی استفاده از آنها و نحوه دسترسی به آنها در برنامه Flask می‌شود. دیده‌ایم که هدرها می‌توانند طیف گسترده‌ای از اطلاعات را منتقل کنند و حتی روشی انعطاف‌پذیر برای کنترل رفتار برنامه شما ارائه دهند.





منتشر شده در 1402-12-26 23:50:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید