Hämta en HTTP-sida genom Socksifys Net::HTTP-adapter
Använd Socksify Net::HTTP-adapter, behåll URL:ens förfrågningsmål och läs den returnerade svarskroppen.
Socksify tillhandahåller en adapter för Net::HTTP. Ladda den adaptern och använd dess dokumenterade metod 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 lokala porten är ett exempel på en SOCKS-slutpunkt. För ett tillåtet test av en offentlig webbplats via en SOCKS-tjänst utan autentisering kan en kompatibel kandidat från SOCKS-proxylistan ersätta den värden och porten; matcha protokollet som den installerade adaptern stöder. request_uri bevarar sökvägen och frågan och lägger till ett snedstreck när URL:en inte har en uttalad sökväg. Att skriva ut svarsomdömets inspektionsutdata skiljer sig från att läsa dess kropp.
Blockformen stänger HTTP-sessionen när blocket slutar. Det här exemplet gäller ett HTTP-mål; en HTTPS-klient behöver också sin vanliga TLS-konfiguration.
Äldre utdrag skriver fabriken som SOCKSProxy. Projektets nuvarande implementering behåller det som ett alias, medan dess README använder socks_proxy. Kontrollera den installerade kombinationen av Socksify och Ruby, eftersom adaptern integreras med Net::HTTP:s inre delar.