Weka lengwa la fomu kwenye ombi na proksi kwenye usanidi wa muunganisho. Proksi haihitaji sehemu maalum ya fomu iliyo na URL unayotaka, isipokuwa unatumia kiolesura cha proksi ya wavuti cha tovuti fulani.

Kwa Net::HTTP ya Ruby, proksi dhahiri ya HTTP inaweza kutolewa wakati wa kuunda mteja:

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

Proksi ni kielelezo tu; wagombea wa HTTP kwa majaribio ya fomu za umma yanayoruhusiwa wanapatikana katika orodha ya proksi za HTTP. Sehemu ya mwisho ya fomu inapaswa kubadilishwa na huduma iliyokusudiwa kupokea uwasilishaji. Nyaraka za proksi za Net::HTTP pia zinaeleza vitambulisho vya proksi na mipangilio inayotokana na mazingira.

Soma jibu kabla ya kulaumu proksi

Seva inayokataa fomu inaweza kutoa hitilafu ya HTTP baada ya njia ya proksi kufanya kazi ipasavyo. Angalia hali ya jibu na mahitaji ya lengwa: mbinu, aina ya maudhui, sehemu za fomu, vidakuzi na tokeni yoyote ya ombi.

Changamoto ya uthibitishaji wa proksi hutoka kwa proksi. Kuingia kwenye programu au fomu iliyokataliwa ni mali ya lengwa. Weka vitambulisho vyao kando. Kuongeza nenosiri la lengwa kwenye usanidi wa proksi hakuwezi kutimiza kuingia kwa lengwa.

Kanuni za vichwa vya upelekaji za Squid ni chanzo kingine kinachowezekana cha mkanganyiko. Sera zao upande wa seva ni tofauti na kujenga POST halali ya Ruby. Usibadilishe kanuni za vichwa za proksi inayoshirikiwa kwa sababu tu fomu ilishindwa mara moja.

Kwa majaribio upya, fikiria kama uwasilishaji wa kwanza unaweza kuwa umeshachakatwa. Jibu lililopotea si uthibitisho kwamba POST haikufika kwenye programu.

Makala zinazohusiana