返回顶部
首页 > 资讯 > 后端开发 > Python >解决方案:fastapi HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or password",headers={"WWW-Authenticate": "Bearer"},)
  • 562
分享到

解决方案:fastapi HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or password",headers={"WWW-Authenticate": "Bearer"},)

python错误处理fastapi报错fastapi用户名 2024-02-28 21:02:28 562人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

报错的原因HttpException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or passWord",headers={"WWW-Authen

报错的原因

HttpException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or passWord",headers={"WWW-Authenticate": "Bearer"},)是在Fastapi中用于表示未授权访问错误。通常是由于用户名或密码错误导致的。

如何解决

应该在程序中通过检查用户名和密码的正确性并进行身份验证来解决。如果用户名和密码正确,应该在响应中发送一个有效的令牌,以便在后续请求中使用。如果验证失败,应该 raise 一个HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)来表示未授权。

使用例子

可以这么写:


from fastapi import FastAPI, status, HTTPException
app = FastAPI()

@app.post("/login/")
async def login(username: str, password: str):
    if username != "test" or password != "test":
        raise HTTPException(
            status_code=status.HTTP_401_UNAUTHORIZED,
            detail="Incorrect username or password",
            headers={"WWW-Authenticate": "Bearer"},
        )
    return {"access_token": "fake-token"}

在这个例子中,当用户名不是'test'或密码不是'test'时,会 raise 一个HTTPException(status_code=status.HTTP_401_UNAUTHORIZED),表示未授权,否则会返回一个access_token。

实际场景中,你需要用数据库来验证用户名和密码。

另外,对于令牌的生成,建议使用Jwt来生成,用pyjwt库来生成。

--结束END--

本文标题: 解决方案:fastapi HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or password",headers={"WWW-Authenticate": "Bearer"},)

本文链接: https://lsjlt.com/news/569607.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作