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