Pobieranie strony HTTP przez adapter Net::HTTP biblioteki Socksify
Użyj adaptera Net::HTTP biblioteki Socksify, zachowaj cel żądania w adresie URL i odczytaj zwróconą treść odpowiedzi.
Socksify dostarcza adapter dla Net::HTTP. Wczytaj ten adapter i użyj jego udokumentowanej metody 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
Lokalny port to przykładowy punkt końcowy SOCKS. Do dozwolonego testu publicznej strony przez usługę SOCKS bez uwierzytelniania zgodny kandydat z listy proxy SOCKS może zastąpić ten host i port; dopasuj protokół obsługiwany przez zainstalowany adapter. request_uri zachowuje ścieżkę i zapytanie oraz dodaje ukośnik, gdy adres URL nie ma jawnej ścieżki. Drukowanie wyniku inspekcji obiektu odpowiedzi różni się od czytania jego treści.
Forma blokowa zamyka sesję HTTP po zakończeniu bloku. Ten przykład dotyczy celu HTTP; klient HTTPS potrzebuje także swojej zwykłej konfiguracji TLS.
Starsze fragmenty zapisują fabrykę jako SOCKSProxy. Bieżąca implementacja projektu zachowuje to jako alias, a jego README używa socks_proxy. Sprawdź zainstalowaną kombinację Socksify i Ruby, ponieważ adapter integruje się z wnętrznościami Net::HTTP.