나는 sinatra와 함께 ruby를 사용하며 지불을 위해 수입시 rest-client를 사용했습니다. 특정 URL ('.../users/getToken')에 post 메소드를 통해 입력 한 토큰을 받았습니다. 이 토큰을 사용하여, 나는이 URL에 get 메소드와 지불 정보를 얻을 싶어 :sinatra가있는 루비에서 나머지 클라이언트의 get 메소드를 사용하여 응답을 얻는 방법은 무엇입니까?
GET_URL = 'https://api/iamport.kr/payments/'+ imp_uid
상세 코드는 다음과 같습니다,
def get_paymentsdetails(token, imp_uid)
get_url = 'https://api.iamport.kr/payments/'+imp_uid
response = RestClient.get get_url, :data => {}.to_json, :accept => :json, :headers => {'Authorization' => token}
json = JSON.parse(response, :symbolize_names => true)
# json = JSON.parse(response.to_json, {:symbolize_names => true})
return json
end
는 그러나, 나는 401을 얻었다 이 코드 부분에 대한 무단 오류. 나는 특정 imp_uid와 GET_URL에 액세스 한 후
response = RestClient.get get_url, :data => {}.to_json, :accept => :json, :headers => {'Authorization' => token}
, 나는이 페이지 얻었다 { "코드"- 1 "메시지": "허가되지 않은", "응답"널 (null)}
나는 매개 변수 토큰을 확인 및 get_paymentsdetails 함수의 imp_uid는 유효한 문자열 값을 가지므로 어떻게 응답 매개 변수에 액세스 할 수 있습니까 ?? 응답 = RestClient.get get_url .... 코드에 몇 가지 문제가 있다고 생각합니다.
감사합니다.
덕분에, 나는 성공 응답 ,, 의 값을 얻을 수 있지만 ,, 내가 어떤 가치를 얻을이 값이 유효한지 확인 후 내가 한 번 더 질문이 있어요 ,,,,,하지만 난 리디렉션 페이지에 HTML 텍스트를 가지고 나는이 부분이 응답일지도 모른다고 생각한다. 누군가 응답 코드는 다음과 같다. " \ \ n
\ n그 전에 나는 다음과 같은 코드를 변경했다. response = RestClient.get get_url, { 'Authorization'=> token, : accept => json}, @ cotroller 같은 응답에 @name = 응답을 사용할 수있다. [: response] [: name], 그리고 name이 유효하고 정확한 값을 가지고 있는지 확인했습니다. 나는 물건 위에 마지막 질문을 얻었다! !!! 그 대답을 구문 분석하고 싶습니다. 문자열, .. HTML이 아니라 ... –
질문을 올바르게 이해했다면 [nokogiri gem] (https://github.com/sparklemotion/nokogiri)을 사용하여 html을 파싱 할 수 있습니다. nokogiri :'Nokogiri :: HTML (response.body) .at ('body')'에'response.body'를 전달할 수 있습니다. – sig