Socksify fornece un adaptador para Net::HTTP. Cargue ese adaptador e use o seu método documentado 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

O porto local é un exemplo de punto de conexión SOCKS. Para unha proba permitida dun sitio público mediante un servizo SOCKS sen autenticación, un candidato compatible da lista de proxies SOCKS pode substituír ese host e porto; axuste o protocolo que admite o adaptador instalado. request_uri conserva a ruta e a consulta e engade unha barra cando a URL non ten unha ruta explícita. Imprimir a saída de inspección do obxecto de resposta é distinto de ler o seu corpo.

A forma de bloque pecha a sesión HTTP cando remata o bloque. Este exemplo é para un destino HTTP; un cliente HTTPS tamén necesita a súa configuración TLS habitual.

Os fragmentos antigos escriben a fábrica como SOCKSProxy. A implementación actual do proxecto mantena como alias, mentres que o seu README usa socks_proxy. Comprobe a combinación instalada de Socksify e Ruby, porque o adaptador intégrase coas interioridades de Net::HTTP.

Artigos relacionados