Bootstrap FreeKB - FastAPI - GET HTTP Headers using the request module
FastAPI - GET HTTP Headers using the request module

Updated:   |  FastAPI articles

Let's say a request is submitted to the /Test route of your FastAPI application with the following parameters.

http://api.example.com/v1

 

Request can be used to get the request URL.

from fastapi import FastAPI, Request

app = FastAPI()

@app.get("/")
async def root(request: Reqest):
    print(f"request.url          = {request.url}")
    print(f"request.url.scheme   = {request.url.scheme}")
    print(f"request.url.netloc   = {request.url.netloc}") 
    print(f"request.url.path     = {request.url.path}")
    print(f"request.url.query    = {request.url.query}")
    print(f"request.url.fragment = {request.url.fragment}")  
    print(f"request.url.username = {request.url.username}") 
    print(f"request.url.password = {request.url.password}")      
    print(f"request.url.hostname = {request.url.hostname}")
    print(f"request.url.port     = {request.url.port}")   
    return {"foo":"bar"}      

 

Something like this should be returned.

[2025-03-13 03:42:34 INFO] request.url          = http://api.example.com/v1
[2025-03-13 03:42:34 INFO] request.url.scheme   = http
[2025-03-13 03:42:34 INFO] request.url.netloc   = api.example.com
[2025-03-13 03:42:34 INFO] request.url.path     = /v1
[2025-03-13 03:42:34 INFO] request.url.query    =
[2025-03-13 03:42:34 INFO] request.url.fragment =
[2025-03-13 03:42:34 INFO] request.url.username = None
[2025-03-13 03:42:34 INFO] request.url.password = None
[2025-03-13 03:42:34 INFO] request.url.hostname = api.example.com
[2025-03-13 03:42:34 INFO] request.url.port     = None

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 91aeec in the box below so that we can be sure you are a human.