Socksify fornisce un adattatore per Net::HTTP. Caricate quell'adattatore e usate il suo metodo documentato 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

La porta locale è un esempio di endpoint SOCKS. Per un test consentito di un sito pubblico tramite un servizio SOCKS senza autenticazione, un candidato compatibile dall'elenco di proxy SOCKS può sostituire quell'host e quella porta; allineatevi al protocollo supportato dall'adattatore installato. request_uri conserva il percorso e la query e aggiunge una barra quando l'URL non ha un percorso esplicito. Stampare l'output di ispezione dell'oggetto risposta è diverso dal leggere il suo corpo.

La forma a blocco chiude la sessione HTTP al termine del blocco. Questo esempio riguarda una destinazione HTTP; un client HTTPS necessita anche della sua normale configurazione TLS.

I frammenti più vecchi scrivono la factory come SOCKSProxy. L'implementazione attuale del progetto la mantiene come alias, mentre il suo README usa socks_proxy. Verificate la combinazione installata di Socksify e Ruby perché l'adattatore si integra con le interiora di Net::HTTP.

Articoli correlati