5月29日 22:48

cURL 如何处理 HTTP 认证?Basic Auth/Bearer/OAuth 怎么用?

三种认证:Basic Auth——curl -u user:pass URL(密码明文 base64 编码必须配合 HTTPS);Bearer Token——curl -H "Authorization: Bearer TOKEN" URL;OAuth 2.0——先 curl token 端点拿 access_token,再带 token 请求 API。cURL 无内置 OAuth 流程,需手动实现 token 获取和刷新。

追问

-u 和 -H Authorization 有什么区别?

-u user:pass 自动生成 Authorization: Basic 头,更简洁。-H 手动写原始头,适合精确控制。安全做法:用环境变量 -u user:$API_KEY 避免密码出现在 shell history。

Bearer Token 过期了怎么刷新?

脚本模式:先 curl refresh_token 端点拿新 access_token,替换环境变量,再请求 API。生产建议用 SDK 自动刷新。

OAuth 2.0 授权码流程怎么用 cURL 实现?

分三步:1.浏览器访问授权 URL 手动授权拿 code;2.curl -X POST token-url 换 token;3.curl -H "Authorization: Bearer TOKEN" 请求资源。第 1 步必须浏览器完成。

API Key 和 Bearer Token 有什么区别?

API Key 是静态字符串,不过期除非手动轮换。Bearer Token 有过期时间,由 OAuth 签发,可精细控制权限范围(scope)。API Key 适合服务间调用,Bearer Token 适合用户级授权。

.netrc 文件有什么用?

存储登录凭证:machine api.example.com login user password pass。cURL 加 -n 自动读取,不用 -u 传密码。chmod 600 保护文件权限。

标签:cURL