Mbajeni destinacionin e formularit në kërkesë dhe proxy-n në konfigurimin e lidhjes. Një proxy nuk ka nevojë për një fushë të veçantë formulari me URL-në që dëshironi, përveç rasteve kur përdorni ndërfaqen web-proxy të një faqeje të caktuar.

Për Net::HTTP të Ruby, një proxy HTTP i qartë mund të jepet kur krijohet klienti:

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) }

Proxy është ilustrues; kandidatët HTTP për teste të lejuara të formularëve publikë janë të disponueshëm në listën e proxy-ve HTTP. Pika përfundimtare e formularit duhet të zëvendësohet me një shërbim të destinuar për të pranuar dërgimin. Dokumentacioni i proxy-t të Net::HTTP përshkruan gjithashtu kredencialet e proxy-t dhe cilësimet e nxjerra nga mjedisi.

Lexoni përgjigjen para se të fajësoni proxy-n

Një server që refuzon një formular mund të prodhojë një gabim HTTP pasi rruga përmes proxy-t ka funksionuar saktë. Kontrolloni statusin e përgjigjes dhe kërkesat e destinacionit: metodën, llojin e përmbajtjes, fushat e formularit, cookie-t dhe çdo token kërkese.

Një sfidë vërtetimi e proxy-t vjen nga proxy. Një hyrje në aplikacion ose një formular i refuzuar i përkasin destinacionit. Mbani kredencialet e tyre të ndara. Shtimi i fjalëkalimit të destinacionit në konfigurimin e proxy-t nuk mund të plotësojë hyrjen në destinacion.

Rregullat e kokave të përcjelljes të Squid janë një burim tjetër i mundshëm konfuzioni. Politika e tyre në anën e serverit është e ndarë nga ndërtimi i një POST të vlefshëm të Ruby. Mos ndryshoni rregullat e kokave të një proxy të përbashkët vetëm sepse formulari dështoi një herë.

Për provat e përsëritura, konsideroni nëse dërgimi i parë mund të jetë përpunuar tashmë. Një përgjigje e humbur nuk është provë që një POST nuk arriti kurrë te aplikacioni.

Artikuj të ngjashëm