Obținerea unei pagini HTTP prin adaptorul Net::HTTP al Socksify
Folosiți adaptorul Net::HTTP al Socksify, păstrați ținta cererii din URL și citiți corpul răspunsului returnat.
Socksify furnizează un adaptor pentru Net::HTTP. Încărcați acel adaptor și folosiți metoda sa documentată 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
Portul local este un exemplu de punct final SOCKS. Pentru un test permis al unui site public printr-un serviciu SOCKS fără autentificare, un candidat compatibil din lista de proxy SOCKS poate înlocui acel host și port; potriviți protocolul acceptat de adaptorul instalat. request_uri păstrează calea și interogarea și adaugă o bară oblică atunci când URL-ul nu are o cale explicită. Tipărirea ieșirii de inspecție a obiectului răspuns este diferită de citirea corpului acestuia.
Forma de bloc închide sesiunea HTTP la terminarea blocului. Acest exemplu este pentru o destinație HTTP; un client HTTPS are nevoie și de configurația sa TLS obișnuită.
Fragmentele mai vechi scriu fabrica drept SOCKSProxy. Implementarea actuală a proiectului o păstrează ca alias, în timp ce README-ul folosește socks_proxy. Verificați combinația instalată de Socksify și Ruby, deoarece adaptorul se integrează cu interiorul Net::HTTP.