ផ្ញើ Ruby Net::HTTP POST តាមរយៈប្រូកស៊ី
កំណត់ការតភ្ជាប់ Ruby HTTP ជាមួយប្រូកស៊ីច្បាស់លាស់ បន្ទាប់មកផ្ញើទិន្នន័យទម្រង់ទៅគោលដៅ។
រក្សាគោលដៅរបស់ទម្រង់នៅក្នុងសំណើ និងប្រូកស៊ីនៅក្នុងការកំណត់ការតភ្ជាប់។ ប្រូកស៊ីមិនត្រូវការវាលទម្រង់ពិសេសដែលមាន 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 គឺជាប្រភពច្របូកច្របល់ដែលអាចកើតមានមួយទៀត។ គោលនយោបាយផ្នែកម៉ាស៊ីនមេរបស់ពួកវាដោយឡែកពីការសាងសង់ Ruby POST ត្រឹមត្រូវ។ កុំកែច្បាប់ក្បាលប្រូកស៊ីដែលចែករំលែកគ្រាន់តែដោយសារទម្រង់បរាជ័យម្តង។
សម្រាប់ការព្យាយាមឡើងវិញ សូមពិចារណាថាតើការដាក់ស្នើដំបូងអាចត្រូវបានដំណើរការរួចហើយឬទេ។ ការឆ្លើយតបដែលបាត់មិនមែនជាភស្តុតាងថា POST មិនដែលទៅដល់កម្មវិធីទេ។