फॉर्मचे गंतव्यस्थान विनंतीत आणि प्रॉक्सी कनेक्शन कॉन्फिगरेशनमध्ये ठेवा. तुम्हाला हवे असलेले URL असलेले विशेष फॉर्म फील्ड प्रॉक्सीला आवश्यक नाही, जोपर्यंत तुम्ही एखाद्या विशिष्ट वेबसाइटचे वेब-प्रॉक्सी इंटरफेस वापरत नाही.

Ruby च्या Net::HTTP साठी, क्लायंट तयार करताना स्पष्ट 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 कधीही ॲप्लिकेशनपर्यंत पोहोचला नाही याचा पुरावा नाही.

संबंधित लेख