Socksify fournit un adaptateur pour Net::HTTP. Chargez cet adaptateur et utilisez sa méthode documentée 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

Le port local est un exemple de point de terminaison SOCKS. Pour un test autorisé d’un site public via un service SOCKS sans authentification, un candidat compatible de la liste de proxies SOCKS peut remplacer cet hôte et ce port ; adaptez-vous au protocole pris en charge par l’adaptateur installé. request_uri conserve le chemin et la requête et ajoute une barre oblique lorsque l’URL n’a pas de chemin explicite. Afficher la sortie d’inspection de l’objet de réponse diffère de la lecture de son corps.

La forme en bloc ferme la session HTTP à la fin du bloc. Cet exemple concerne une destination HTTP ; un client HTTPS a aussi besoin de sa configuration TLS habituelle.

Les anciens extraits écrivent l’usine sous la forme SOCKSProxy. L’implémentation actuelle du projet la conserve comme alias, tandis que son README utilise socks_proxy. Vérifiez la combinaison installée de Socksify et de Ruby, car l’adaptateur s’intègre aux entrailles de Net::HTTP.

Articles similaires