HTTParty는 포워드 프록시를 요청 옵션으로 받습니다. 서비스 URL은 첫 번째 인수로 두십시오:

response = HTTParty.get(
  'https://api.example/items',
  http_proxyaddr: 'proxy.example',
  http_proxyport: 8080,
  http_proxyuser: ENV.fetch('PROXY_USER'),
  http_proxypass: ENV.fetch('PROXY_PASSWORD'),
  headers: { 'Authorization' => "Bearer #{ENV.fetch('API_TOKEN')}" },
  open_timeout: 5,
  read_timeout: 15
)
puts response.code

프록시 호스트와 포트가 중개자를 지정합니다. 프록시 사용자 이름과 비밀번호는 그곳에서 인증됩니다. Authorization 헤더는 API의 것이며, 그 계정은 전혀 다를 수 있습니다.

인증이 없는 프록시라면 http_proxyuser와 http_proxypass를 생략합니다. 허용된 공개 경로의 공개 API 요청이라면 HTTP 프록시 목록에서 HTTP 주소를 고르되 요청이나 클래스 기본값에 프록시 자격 증명을 남기지 마십시오. 호스트 필드는 프록시 주소로 Net::HTTP에 전달됩니다. 호스트 이름은 포트와 분리해 주고, 목적지 URL이나 PAC URL을 넘기지 마십시오.

HTTParty를 include한 래퍼 클래스는 대신 http_proxy 클래스 메서드로 기본값을 설정할 수 있습니다. 요청 옵션은 그것을 제공한 호출에 한해 그 기본값을 덮어씁니다.

이 설명은 HTTParty의 기본 연결 어댑터에 해당합니다. 사용자 지정 connection_adapter는 자기 옵션 해석을 책임지므로, 유효한 설정이 무시되는 것처럼 보이면 그 어댑터를 확인하십시오. HTTP 상태는 파싱된 API 데이터와 별도로 읽으십시오. JSON 파싱 성공은 인증 결과가 아닙니다.

관련 글