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

如何使用PowerShell获取.htaccess与.htpasswd保护的内容?

修复PowerShell访问.htpasswd保护内容的代码问题

你的代码存在两处关键错误,导致无法完成Basic认证访问受保护内容:

  • 第一处:[Text.Encoding]::ASCII.GetBytes()方法调用缺少闭合括号,字符串格式化后的表达式未正确闭合
  • 第二处:Authorization请求头构造错误,错误拼接了用户名与Base64凭证,而Basic认证仅需Base64编码的用户名:密码字符串

修正后的代码如下:

$username = 'test'
$password = 'test'

# 正确构造Base64编码的认证信息,补全缺失的闭合括号
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))

# 正确设置Authorization头,格式为Basic + 空格 + Base64凭证
$response = Invoke-RestMethod -Uri 'http://url' -Headers @{Authorization = "Basic $base64AuthInfo"}

$response

关键说明

  • Basic认证的核心逻辑是将用户名:密码的字符串用ASCII编码后转换为Base64格式,无需额外拼接用户名
  • 请将代码中的http://url替换为实际的目标资源地址,确认目标服务器确实启用了基于.htpasswd的Basic认证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:03:29