Socksify teikia Net::HTTP adapterį. Įkelkite tą adapterį ir naudokite jo dokumentuotą socks_proxy metodą:

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

Vietinis prievadas yra SOCKS galinio taško pavyzdys. Kad būtų galima atlikti leistiną viešos svetainės bandymą per SOCKS paslaugą be autentifikavimo, suderinamas kandidatas iš SOCKS tarpinių serverių sąrašo gali pakeisti tą hostą ir prievadą; suderinkite su protokolu, kurį palaiko įdiegtas adapteris. request_uri išsaugo kelią ir užklausą bei prideda pasvirąjį brūkšnį, kai URL neturi aiškaus kelio. Atsakymo objekto patikrinimo išvesties spausdinimas skiriasi nuo jo turinio skaitymo.

Bloko forma uždaro HTTP sesiją, kai blokas baigiasi. Šis pavyzdys skirtas HTTP paskirties vietai; HTTPS klientui taip pat reikia įprastos TLS konfigūracijos.

Senesni fragmentai gamyklą rašo kaip SOCKSProxy. Dabartinė projekto realizacija tai išlaiko kaip slapyvardį, o jo README naudoja socks_proxy. Patikrinkite įdiegtą Socksify ir Ruby derinį, nes adapteris integruojasi su Net::HTTP vidinėmis dalimis.

Susiję straipsniai