Gradio 的月活跃用户量达到 100 万!

阅读更多
Gradio logo
  1. 路由
  2. 请求

Gradio 新手?从这里开始: 入门指南

查看发布历史

请求

gradio.Request(···)

描述

一个 Gradio 请求对象,可用于从预测函数内部访问请求标头、cookies、查询参数以及关于请求的其他信息。该类是 fastapi.Request 类的精简包装器。此类的属性包括:headers, client, query_params, session_hash, 和 path_params。如果启用了身份验证,则可以使用 username 属性来获取已登录用户。在某些环境中,此类中类似字典的属性(例如 requests.headers, requests.query_params)会自动转换为字典,因此我们建议在访问属性之前将它们转换为字典,以在不同环境中获得一致的行为。

使用示例

import gradio as gr
def echo(text, request: gr.Request):
    if request:
        print("Request headers dictionary:", request.headers)
        print("IP address:", request.client.host)
        print("Query parameters:", dict(request.query_params))
        print("Session hash:", request.session_hash)
    return text
io = gr.Interface(echo, "textbox", "textbox").launch()

初始化

参数
🔗
request: fastapi.Request | None
默认 = None

一个 fastapi.Request

🔗
username: str | None
默认 = None

已登录用户的用户名(如果启用了身份验证)

🔗
session_hash: str | None
默认 = None

当前会话的会话哈希值。对于每个页面加载都是唯一的。

演示

import gradio as gr

def predict(text, request: gr.Request):
    headers = request.headers
    host = request.client.host
    user_agent = request.headers["user-agent"]
    return {
        "ip": host,
        "user_agent": user_agent,
        "headers": headers,
    }

gr.Interface(predict, "text", "json").launch()