Random User Agent Setter

  • Share this:

Code introduction


This function randomly selects a user agent string and sets it as the User-Agent field in the response header to simulate access from different browsers.


Technology Stack : Sanic, urllib.parse, random

Code Type : Sanic response handler

Code Difficulty : Intermediate


                
                    
def random_user_agent(response):
    import random
    from sanic import response
    from urllib.parse import quote

    user_agents = [
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 UBrowser/88.0.4324.104 Safari/537.36",
        "Mozilla/5.0 (Linux; Android 10; SM-A505FN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Mobile Safari/537.36"
    ]

    selected_user_agent = random.choice(user_agents)
    response.headers["User-Agent"] = selected_user_agent
    return response