You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置FastAPI,使其不自动跟随重定向?

如何禁止客户端自动跟随FastAPI的重定向响应

FastAPI本身已经正确返回了303重定向状态码,你看到的200是因为客户端(requests或测试客户端)默认开启了自动跟随重定向,只需要在客户端请求时禁用这个行为即可,无需修改FastAPI的配置。

1. FastAPI测试客户端的处理方式

FastAPI自带的TestClient默认会自动跳转重定向,你可以在发起请求时指定follow_redirects=False来禁用:

from fastapi.testclient import TestClient
from your_app_module import fast_api_app  # 替换成你的应用导入路径

client = TestClient(fast_api_app)

# 禁用自动重定向,直接获取303响应
resp = client.get("/some_url", follow_redirects=False)
print(resp.status_code)  # 输出303
print(resp.headers["location"])  # 输出目标重定向地址/redirect_url

2. requests库的处理方式

requests库同样默认自动跟随重定向,只需在请求时添加allow_redirects=False参数:

import requests

# 禁用自动重定向
resp = requests.get("http://localhost:8000/some_url", allow_redirects=False)
print(resp.status_code)  # 输出303
print(resp.headers["Location"])  # 输出/redirect_url

简单总结:FastAPI的重定向响应本身没有问题,自动跳转是客户端的默认行为,只要在客户端请求时关闭自动跟随开关,就能拿到原始的303响应,由你自行处理后续跳转逻辑。

内容的提问来源于stack exchange,提问作者md201304

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:30:52