知用网
柔彩主题三 · 更轻盈的阅读体验

HTTP请求Authorization怎么加?几种常见方式一次说清

发布时间:2026-01-22 02:30:21 阅读:82 次

做前端调接口、写爬虫,或者用 Postman 测试后端 API,经常遇到 401 Unauthorized 错误——十有八九是 Authorization 头没加对。

这个头不是可有可无的装饰,而是服务器验证身份的‘敲门砖’。加对了,数据秒回;加错了,连门都进不去。

Authorization 是什么?

它是一个 HTTP 请求头字段(Header),格式固定:

Authorization: <type> <credentials>
其中 <type> 是认证方案(比如 Bearer、Basic、Digest),<credentials> 是具体凭据(通常是 token 或编码后的账号密码)。

最常用:Bearer Token

现在绝大多数 REST API(比如微信开放平台、GitHub API、自家后台)都用 Bearer 方式传 token:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

JavaScript fetch 示例:

fetch('https://api.example.com/user', {
  headers: {
    'Authorization': 'Bearer abc123xyz789'
  }
});

Postman 里点 ‘Authorization’ 标签页 → Type 选 ‘Bearer Token’ → 粘贴你的 token 就行。

老但还在用:Basic Auth

适合内网管理后台、简单调试场景。原理是把 用户名:密码 做 Base64 编码后传过去(注意:不加密!别在公网裸传密码):

Authorization: Basic dXNlcjpwYXNz

这里 dXNlcjpwYXNz 就是 user:pass 的 Base64 编码结果。可以用浏览器控制台快速生成:

btoa('admin:123456') // → 'YWRtaW46MTIzNDU2'

然后请求头就写:

Authorization: Basic YWRtaW46MTIzNDU2

其他情况别硬套

有些接口要求自定义前缀,比如:

Authorization: ApiKey abc-xyz-789

Authorization: Token 9a8b7c6d
这时候必须按文档来,不能擅自改成 Bearer 或 Basic。

容易踩的坑

• token 前后多了空格(比如复制时带了换行);
• 拼错了大小写(Bearer 必须首字母大写,bearer 会失败);
• 在 URL 里传 token(如 ?token=xxx),而不是 Header;
• 用了中文引号或全角字符('Authorization' 写成 ‘Authorization’);
• token 过期了没刷新,还一直拿旧的用。