Отримання HTTP-сторінки через адаптер Net::HTTP від Socksify
Використовуйте адаптер Net::HTTP від Socksify, зберігайте ціль запиту з URL і читайте тіло повернутої відповіді.
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.