Форманың межесі сұрауда, ал прокси қосылым конфигурациясында тұрсын. Проксиге өзіңіз қалаған URL бар арнайы форма өрісі қажет емес, егер нақты сайттың веб-прокси интерфейсін қолданбасаңыз.

Ruby-нің Net::HTTP үшін клиент жасау кезінде айқын HTTP проксиін көрсетуге болады:

require 'net/http'

uri = URI('https://example.com/form')
http = Net::HTTP.new(uri.hostname, uri.port,
                     '203.0.113.10', 8080)
http.use_ssl = true
http.open_timeout = 5
http.read_timeout = 10
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data('message' => 'hello')
response = http.start { |session| session.request(request) }

Прокси тек мысал; рұқсат етілген жалпыға ашық форма сынақтары үшін HTTP кандидаттары HTTP проксилер тізімінде бар. Форманың соңғы нүктесін жіберуді қабылдауға арналған қызметпен ауыстыру керек. Net::HTTP прокси құжаттамасы прокси тіркелгі деректерін және ортадан алынған прокси параметрлерін де сипаттайды.

Проксиді кінәламас бұрын жауапты оқыңыз

Форманы қабылдамайтын сервер прокси бағыты дұрыс жұмыс істегеннен кейін HTTP қатесін шығаруы мүмкін. Жауап мәртебесін және меженің талаптарын тексеріңіз: әдіс, мазмұн түрі, форма өрістері, cookie файлдары және кез келген сұрау токені.

Прокси аутентификация шақыруы проксиден келеді. Қолданбаға кіру немесе қабылданбаған форма межеге жатады. Олардың тіркелгі деректерін бөлек ұстаңыз. Меже құпия сөзін прокси конфигурациясына қосу межеге кіруді қанағаттандыра алмайды.

Squid-тың қайта бағыттау тақырыптарының ережелері — тағы бір ықтимал шатасу көзі. Олардың сервер жағындағы саясаты дұрыс Ruby POST құрудан бөлек. Ортақ проксидің тақырып ережелерін форма бір рет сәтсіз болды деп өзгертпеңіз.

Қайта әрекеттер үшін бірінші жіберу әлдеқашан өңделген болуы мүмкін екенін ескеріңіз. Жоғалған жауап POST қолданбаға ешқашан жетпеді деген дәлел емес.

Қатысты мақалалар