Obtenir una pàgina HTTP amb l'adaptador Net::HTTP de Socksify
Utilitzeu l'adaptador Net::HTTP de Socksify, conserveu l'objectiu de la sol·licitud de l'URL i llegiu el cos de la resposta retornada.
Socksify proporciona un adaptador per a Net::HTTP. Carregueu aquest adaptador i utilitzeu el seu mètode documentat 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
El port local és un punt final SOCKS d'exemple. Per a una prova permesa d'un lloc públic a través d'un servei SOCKS sense autenticació, un candidat compatible de la llista de proxies SOCKS pot substituir aquest host i port; feu coincidir el protocol que admet l'adaptador instal·lat. request_uri conserva el camí i la consulta i afegeix una barra quan l'URL no té cap camí explícit. Imprimir la sortida d'inspecció de l'objecte de resposta és diferent de llegir-ne el cos.
La forma de bloc tanca la sessió HTTP quan el bloc acaba. Aquest exemple és per a una destinació HTTP; un client HTTPS també necessita la seva configuració TLS habitual.
Els fragments antics escriuen la fàbrica com a SOCKSProxy. La implementació actual del projecte la manté com a àlies, mentre que el seu README utilitza socks_proxy. Comproveu la combinació instal·lada de Socksify i Ruby perquè l'adaptador s'integra amb les interioritats de Net::HTTP.