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()が、スラッシュには影響しません。
結果をHTTPリクエスト認証に使用できるように、Base64文字列をパーセントエスケープするにはどうすればよいですか?