2012-07-13 3 views
0

Ruby 프로그램에서 나는 Base64 문자열이므로 슬래시를 포함 할 수 있습니다. password 앞으로 슬래시 사람들이 URI의 포트로 해석됩니다 포함 발생하고 내가 잘못된 URI가 없다는 오류 메시지가 있을지는 HTTP가Ruby에서 Base64 문자열을 퍼센트로 이스케이프 처리하려면 어떻게해야합니까?

username = "User" 
password = "/Base/64/With/Slashes" 
requestUrl = "http://#{username}:#{password}@company.com" 
response = RestClient.get(requestUrl) 

그래서 요청을 수행하는 암호와 사용자 이름을 사용 . 분명히 password 안에있는 각 슬래시는 %2F으로 바꿔야합니다.

URI.escape()을 사용하려고했으나 슬래시에 영향을주지 않습니다.

결과를 HTTP 요청 인증에 사용할 수 있도록 Base64 문자열을 어떻게 퍼센트 이스케이프합니까?

+0

'CGI.escape (password)'는 어떻습니까? –

답변

1

@injekt 코멘트에서 정답을 가지고 있지만 여기 답변으로 약간 정교 버전입니다 :

CGI.escape()가 해당 작업에 적합한 도구입니다. 문서 :

문자열을 URL 인코딩합니다.

관련 문제