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.

Relaterade artiklar