如何在HTTP请求头中添加Squid代理Basic认证信息?
如何在HTTP请求头中添加Squid代理的Basic认证信息?
要通过带Basic认证的Squid代理发送HTTP请求,核心是利用Proxy-Authorization字段传递代理认证信息,具体操作步骤如下:
1. 生成Base64编码的认证字符串
Basic认证的规则很直接:把用户名和密码用冒号:拼接成一个字符串,再对这个字符串做Base64编码。
你的凭据是john:qwerty,编码后的结果为:am9objpxd2VydHk=
你可以用命令行快速生成这个编码串:
- Linux/macOS:执行
echo -n "john:qwerty" | base64- Windows(PowerShell):执行
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("john:qwerty"))
2. 修改HTTP请求头
将生成的编码字符串添加到Proxy-Authorization头中,格式为:Proxy-Authorization: Basic <编码后的字符串>
另外注意你原请求里的Host头有小问题——Host字段只需要填写域名Jb.com,不需要带http://前缀。
最终的完整请求示例:
GET /text.html/ HTTP/1.1 Host: Jb.com Connection: Keep-Alive Proxy-Authorization: Basic am9objpxd2VydHk=
额外说明
Proxy-Authorization是专门给代理服务器的认证头,和目标服务器的Authorization头相互独立,如果目标服务器也需要认证,你可以同时添加两个头。- 确保你的Squid代理已经配置了Basic认证支持(比如通过
auth_param basic相关配置项),否则这个认证头不会生效。
内容的提问来源于stack exchange,提问作者Vincent
相关产品推荐
相关产品推荐

