Socksify leverer en adapter for Net::HTTP. Last inn denne adapteren og bruk den dokumenterte metoden 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

Den lokale porten er et eksempel på et SOCKS-endepunkt. For en tillatt test av et offentlig nettsted via en SOCKS-tjeneste uten autentisering kan en kompatibel kandidat fra SOCKS-proxylisten erstatte den verten og porten; tilpass protokollen som den installerte adapteren støtter. request_uri bevarer banen og spørringen og legger til en skråstrek når URL-en ikke har en eksplisitt bane. Å skrive ut inspeksjonsutdataene til svarobjektet er noe annet enn å lese svarteksten.

Blokkformen lukker HTTP-økten når blokken avsluttes. Dette eksempelet gjelder en HTTP-destinasjon; en HTTPS-klient trenger også sin vanlige TLS-konfigurasjon.

Eldre utdrag skriver fabrikken som SOCKSProxy. Prosjektets nåværende implementasjon beholder det som et alias, mens README-en bruker socks_proxy. Kontroller den installerte kombinasjonen av Socksify og Ruby, fordi adapteren integreres med Net::HTTPs indre deler.

Relaterte artikler