Socksify предоставя адаптер за Net::HTTP. Заредете този адаптер и използвайте документирания му метод 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

Локалният порт е примерна SOCKS крайна точка. За разрешен тест на публичен сайт през SOCKS услуга без удостоверяване подходящ кандидат от списъка със SOCKS проксита може да замени този хост и порт; съобразете протокола, поддържан от инсталирания адаптер. request_uri запазва пътя и заявката и добавя наклонена черта, когато URL няма явен път. Отпечатването на изхода от проверката на обекта на отговора е различно от четенето на тялото му.

Блоковата форма затваря HTTP сесията при завършване на блока. Този пример е за HTTP дестинация; HTTPS клиентът също се нуждае от нормалната си TLS конфигурация.

По-старите фрагменти изписват фабриката като SOCKSProxy. Текущата реализация на проекта я запазва като псевдоним, докато README използва socks_proxy. Проверете инсталираната комбинация от Socksify и Ruby, защото адаптерът се интегрира с вътрешностите на Net::HTTP.

Подобни статии