Pidä lomakkeen kohde pyynnössä ja välityspalvelin yhteyden määrityksessä. Välityspalvelin ei tarvitse erityistä lomakekenttää, joka sisältää haluamasi URL-osoitteen, ellet käytä tietyn sivuston web-välityspalvelinliittymää.

Rubyn Net::HTTP:ssä eksplisiittinen HTTP-välityspalvelin voidaan antaa asiakasta luotaessa:

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

Välityspalvelin on havainnollistava; HTTP-ehdokkaat sallittuihin julkisten lomakkeiden testeihin ovat saatavilla HTTP-välityspalvelinluettelossa. Lomakkeen päätepiste on korvattava palvelulla, joka on tarkoitettu lähetyksen vastaanottamiseen. Net::HTTP:n välityspalvelindokumentaatio kuvaa myös välityspalvelimen tunnistetiedot ja ympäristöstä johdetut välityspalvelinasetukset.

Lue vastaus ennen kuin syytät välityspalvelinta

Lomakkeen hylkäävä palvelin voi tuottaa HTTP-virheen sen jälkeen, kun välityspalvelimen reitti on toiminut oikein. Tarkista vastauksen tila ja kohteen vaatimukset: menetelmä, sisältötyyppi, lomakekentät, evästeet ja mahdollinen pyyntötunnus.

Välityspalvelimen todennushaaste tulee välityspalvelimelta. Sovelluksen kirjautuminen tai hylätty lomake kuuluu kohteelle. Pidä niiden tunnistetiedot erillään. Kohdekohtaisen salasanan lisääminen välityspalvelimen määritykseen ei voi täyttää kohteen kirjautumista.

Squidin edelleenlähetysotsikoiden säännöt ovat toinen mahdollinen sekaannuksen lähde. Niiden palvelinpuolen käytäntö on erillään kelvollisen Ruby POST -pyynnön rakentamisesta. Älä muuta jaetun välityspalvelimen otsikkosääntöjä vain siksi, että lomake epäonnistui kerran.

Uudelleenyrityksissä harkitse, onko ensimmäinen lähetys voitu jo käsitellä. Kadonnut vastaus ei todista, ettei POST koskaan saavuttanut sovellusta.

Aiheeseen liittyvät artikkelit