REST API에 액세스하는 데몬에 문제가 있습니다.사용자 이름에 RestClient 기본 인증이
액세스에는 기본 인증이 필요합니다. 사용자 이름과 암호는 고정되어 있으며 변경할 수 없습니다.
bad URI(absolute but no path): https://#ws+R4nd0mS7r1n:[email protected]/failover/11.11.11.11
:
resource = RestClient::Resource.new("#{base_url}/failover/#{failover_ip}", { :user => user_name, :password => user_password})
response = resource.get
이 나에게 나쁜 URI 오류를 가져옵니다 #ws+R4nd0mS7r1n
나는이 같은 API에 액세스 :
문제는 사용자 이름이 같다고 될 것으로 보인다
내가 의도적으로 사용자 이름에서 #을 제거하면 작동하지만 인증되지 않은 오류가 발생합니다.
restclient에 #이 (가) 포함 된 사용자 이름 또는 비밀번호를 전달하는 방법이 있습니까? 완전한 URI를 수동으로 .get에 전달하는 것은 작동하지 않습니다.
다른 클라이언트를 사용해 봤습니까? [faraday] (https://github.com/lostisland/faraday) 또는 [HTTParty] (https://github.com/jnunemaker/httparty/blob/master/examples/delicious.rb)와 같은가요? –
'#'을 '% 23'으로 바꾸어 보았습니까? –
사용자 이름/암호 조합은 결국 HTTP 요청의 Authorization 헤더 부분으로 나아갑니다. 따라서 대체 클라이언트를 시도하는 Oto의 제안은 건전합니다. 또한, 직접 머리글을 설정하려고 할 수도 있습니다 –