Socksify levert een adapter voor Net::HTTP. Laad die adapter en gebruik de gedocumenteerde methode 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

De lokale poort is een voorbeeld van een SOCKS-eindpunt. Voor een toegestane test van een openbare site via een SOCKS-dienst zonder authenticatie kan een compatibele kandidaat uit de SOCKS-proxylijst die host en poort vervangen; stem af op het protocol dat de geïnstalleerde adapter ondersteunt. request_uri behoudt het pad en de query en voegt een schuine streep toe wanneer de URL geen expliciet pad heeft. De inspectie-uitvoer van het responsobject afdrukken is iets anders dan de body ervan lezen.

De blokvorm sluit de HTTP-sessie wanneer het blok eindigt. Dit voorbeeld is voor een HTTP-bestemming; een HTTPS-client heeft ook zijn gebruikelijke TLS-configuratie nodig.

Oudere snippets schrijven de factory als SOCKSProxy. De huidige implementatie van het project behoudt dat als alias, terwijl de README socks_proxy gebruikt. Controleer de geïnstalleerde combinatie van Socksify en Ruby, omdat de adapter integreert met de interne onderdelen van Net::HTTP.

Gerelateerde artikelen