ສົ່ງ POST ຂອງ Ruby Net::HTTP ຜ່ານພຣັອກຊີ
ຕັ້ງຄ່າການເຊື່ອມຕໍ່ HTTP ຂອງ Ruby ດ້ວຍພຣັອກຊີທີ່ຊັດເຈນ ແລ້ວສົ່ງຂໍ້ມູນແບບຟອມໄປຫາປາຍທາງ.
ເກັບປາຍທາງຂອງຟອມໄວ້ໃນຄຳຮ້ອງ ແລະ ພຣັອກຊີໄວ້ໃນການຕັ້ງຄ່າການເຊື່ອມຕໍ່. ພຣັອກຊີບໍ່ຕ້ອງການຊ່ອງຟອມພິເສດທີ່ມີ URL ທີ່ທ່ານຕ້ອງການ, ເວັ້ນແຕ່ທ່ານໃຊ້ໜ້າຈໍພຣັອກຊີເວັບຂອງເວັບໄຊໃດໜຶ່ງ.
ສຳລັບ Net::HTTP ຂອງ Ruby, ສາມາດລະບຸພຣັອກຊີ 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 ຫຼັງຈາກເສັ້ນທາງພຣັອກຊີເຮັດວຽກຢ່າງຖືກຕ້ອງ. ກວດເບິ່ງສະຖານະຄຳຕອບ ແລະ ຂໍ້ກຳນົດຂອງປາຍທາງ: ວິທີ, ປະເພດເນື້ອຫາ, ຊ່ອງຟອມ, ຄຸກກີ ແລະ ໂທເຄັນຄຳຮ້ອງໃດໆ.
ການທ້າທາຍການຢືນຢັນຕົວຕົນຂອງພຣັອກຊີ ມາຈາກພຣັອກຊີ. ການເຂົ້າສູ່ລະບົບຂອງແອັບ ຫຼື ຟອມທີ່ຖືກປະຕິເສດເປັນຂອງປາຍທາງ. ເກັບຂໍ້ມູນຢືນຢັນຕົວຕົນຂອງທັງສອງໄວ້ແຍກກັນ. ການເພີ່ມລະຫັດຜ່ານຂອງປາຍທາງໃສ່ການຕັ້ງຄ່າພຣັອກຊີບໍ່ສາມາດຕອບສະໜອງການເຂົ້າສູ່ລະບົບຂອງປາຍທາງໄດ້.
ກົດລະບຽບຫົວຂໍ້ການສົ່ງຕໍ່ຂອງ Squid ເປັນແຫຼ່ງຄວາມສັບສົນອີກຢ່າງໜຶ່ງ. ນະໂຍບາຍຝ່າຍເຊີບເວີຂອງພວກມັນແຍກອອກຈາກການສ້າງ POST Ruby ທີ່ຖືກຕ້ອງ. ຢ່າປ່ຽນກົດລະບຽບຫົວຂໍ້ຂອງພຣັອກຊີທີ່ໃຊ້ຮ່ວມກັນພຽງເພາະຟອມລົ້ມເຫຼວຄັ້ງໜຶ່ງ.
ສຳລັບການລອງໃໝ່, ພິຈາລະນາວ່າການສົ່ງຄັ້ງທຳອິດອາດຖືກປະມວນຜົນແລ້ວ. ຄຳຕອບທີ່ຫາຍໄປບໍ່ແມ່ນຫຼັກຖານວ່າ POST ບໍ່ເຄີຍໄປຮອດແອັບ.