Recuperare una pagina HTTP tramite l'adattatore Net::HTTP di Socksify
Usate l'adattatore Net::HTTP di Socksify, conservate la destinazione della richiesta dell'URL e leggete il corpo della risposta restituita.
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.