Socksify의 Net::HTTP 어댑터로 HTTP 페이지 가져오기
Socksify Net::HTTP 어댑터를 사용하고 URL의 요청 대상을 유지하며 반환된 응답 본문을 읽습니다.
Socksify는 Net::HTTP용 어댑터를 제공합니다. 그 어댑터를 불러오고 문서화된 socks_proxy 메서드를 사용하세요:
require 'socksify/http'
uri = URI('http://example.com/?view=compact')
Net::HTTP.socks_proxy('127.0.0.1', 1400)
.start(uri.host, uri.port) do |http|
response = http.get(uri.request_uri)
puts response.body
end
로컬 포트는 SOCKS 엔드포인트의 예시입니다. 인증이 없는 SOCKS 서비스를 통해 공개 사이트를 허용된 범위에서 시험할 때 SOCKS 프록시 목록의 호환되는 후보가 그 호스트와 포트를 대신할 수 있습니다. 설치된 어댑터가 지원하는 프로토콜에 맞추세요. request_uri는 경로와 쿼리를 유지하고 URL에 명시적인 경로가 없으면 슬래시를 붙입니다. 응답 객체의 검사 출력을 인쇄하는 것은 그 본문을 읽는 것과 다릅니다.
블록 형식은 블록이 끝날 때 HTTP 세션을 닫습니다. 이 예시는 HTTP 대상용입니다. HTTPS 클라이언트에는 평소의 TLS 설정도 필요합니다.
오래된 스니펫은 팩토리를 SOCKSProxy로 적습니다. 프로젝트의 현재 구현은 이를 별칭으로 유지하며, README에서는 socks_proxy를 사용합니다. 어댑터가 Net::HTTP 내부와 통합되므로 설치된 Socksify와 Ruby 조합을 확인하세요.