Получение 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.