在 Ruby 程序中,我的密码是 Base64 字符串,因此可以包含正斜杠。我使用该密码和用户名来执行 HTTP 请求
username = "User"
password = "/Base/64/With/Slashes"
requestUrl = "http://#{username}:#{password}@company.com"
response = RestClient.get(requestUrl)
因此,如果password
碰巧包含正斜杠,它们将被解释为 URI 的端口,并且我将收到一条错误消息,指出我的 URI 无效。显然,里面的每个正斜杠都password
必须替换为%2F
.
我尝试使用URI.escape()
,但它不影响正斜杠。
如何百分比转义 Base64 字符串以便结果可用于 HTTP 请求身份验证?