Send eitt Ruby Net::HTTP POST gjøgnum ein proxy
Set upp eina Ruby HTTP-samband við eyðsjónum proxy, og send so formdata til málið.
Halt málið hjá forminum í fyrispurninginum og proxyin í sambandsuppsetingini. Ein proxy hevur ikki tørv á einum serligum formfelta við tí URL, sum tú vilt, uttan tú brúkar web-proxy-innskotið á einum ávísum heimasíðu.
Fyri Net::HTTP í Ruby kann ein eyðsjónur HTTP-proxy verða givin, tá klienturin verður gjørdur:
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) }
Proxyin er bara dømi; HTTP-evnar fyri loyvdar royndir av almennum formum eru tøkir í HTTP-proxylistanum. Endapunkturin hjá forminum má verða skiftur út við einari tænastu, ið er ætlað at taka ímóti sendingini. Proxy-dokumentatjónin hjá Net::HTTP lýsir eisini proxy-innlating og proxy-uppsetingar, ið koma úr umhvørvinum.
Les svaríð, áðrenn tú skuldar proxyina
Ein servari, ið vísir eitt form frá sær, kann gera eina HTTP-villu, eftir at proxy-leiðin hevur virkað rætt. Kanna statusin á svarinum og krøvini hjá málinum: háttur, innihaldstýpur, formfølt, kakar og eitt møguligt fyrispurningstekn.
Ein proxy-innlatingaravbjóðing kemur frá proxyini. Innritan í eitt forrit ella eitt form, ið er víst frá sær, hoyrir til málið. Halt teirra innlatingarupplýsingar sundur. At leggja eitt málloyniorð í proxy-uppsetingina kann ikki nøkta innritanina á málinum.
Reglurnar hjá Squid um framsendingar-høvd eru onnur møgulig kelda til órøðu. Teirra stefna á servarasíðuni er skild frá at byggja eitt galdandi Ruby POST. Broyt ikki høvd-reglurnar hjá einari deildari proxy bara tí, at formið miseydnaðist eina ferð.
Fyri endurtokanir, umhugsa um fyrsta sendingin longu kann vera viðgjørd. Eitt mist svar er ikki prógv fyri, at eitt POST ongantíð náddi forritinum.