Een HTTP-pagina ophalen via de Net::HTTP-adapter van Socksify
Gebruik de Net::HTTP-adapter van Socksify, behoud het aanvraagdoel van de URL en lees de geretourneerde responsbody.
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.