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.

Схожі статті