Socksify leverer en adapter til Net::HTTP. Indlæs den adapter, og brug dens dokumenterede metode 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 port er et eksempel på et SOCKS-endepunkt. Til en tilladt test af et offentligt websted gennem en SOCKS-tjeneste uden godkendelse kan en kompatibel kandidat fra SOCKS-proxylisten erstatte den vært og port; tilpas den protokol, som den installerede adapter understøtter. request_uri bevarer stien og forespørgslen og tilføjer en skråstreg, når URL'en ikke har en eksplicit sti. Det er noget andet at udskrive svarobjektets inspektionsoutput end at læse dets body.

Blokformen lukker HTTP-sessionen, når blokken slutter. Dette eksempel er til en HTTP-destination; en HTTPS-klient har også brug for sin normale TLS-konfiguration.

Ældre uddrag staver fabrikken SOCKSProxy. Projektets nuværende implementering beholder det som et alias, mens dens README bruger socks_proxy. Kontroller den installerede kombination af Socksify og Ruby, fordi adapteren integrerer med Net::HTTP's indre dele.

Relaterede artikler