2010-03-09 10 views
10

मुझे रेल का उपयोग कर एक पबब सक्षम ग्राहक ऐप स्थापित करने में समस्या हो रही है। मैंने वर्तमान में ओपन हब pubsubhubbub.appspot.com की सदस्यता ली है और मेरे आवेदन के एंडपॉइंट पर पिंग प्राप्त कर रहा हूं। (अभी तक मैंने एक काउंटर बनाया है जो हर बार अंत बिंदु को पिंग किया जाता है)। लेकिन मैं समझ नहीं पा रहा हूं कि पोस्ट से कच्चे पोस्ट बॉडी सामग्री को कैसे निकाला जाए। मैं पबूब के लिए नया हूं और इसके साथ प्रयोग करने के लिए उत्सुक हूं। मैं इस ब्लॉग पोस्ट में आया लेकिन यह भाषा विशिष्ट नहीं है।रेल पर Pubsubhubbub। POST अनुरोध से कच्चे पोस्ट बॉडी सामग्री को निकालने के लिए कैसे?


स्रोत: जोसेफ स्मार: PubSubHubbub ग्राहक समर्थन कार्यान्वित करना: एक चरण-दर-चरण मार्गदर्शिका। http://josephsmarr.com/2010/03/01/implementing-pubsubhubbub-subscriber-support-a-step-by-step-guide/

अब आप आकाश हर बार ब्लॉग आप है सदस्यता ली से भुगतान बाहर जादुई प्राप्त पिंग्स के लिए तैयार हैं नई सामग्री है करने के लिए! आप किसी भी अतिरिक्त क्वेरी पैरामीटर के बिना अपने निर्दिष्ट कॉलबैक URL को भीतर का अनुरोध प्राप्त करते हैं जोड़ा है (यानी आप इसे एक पिंग एक सत्यापन है और न क्योंकि वहाँ नहीं होगा किसी भी hub.mode पैरामीटर शामिल पता चल जाएगा)। इसके बजाय, सदस्यता ली फ़ीड की नई प्रविष्टियां अनुरोध के बाद शरीर में सीधे शामिल किया जाएगा, आवेदन/परमाणु + एटम के लिए xml का आरएसएस फ़ीड और आवेदन/rss + xml के साथ एक अनुरोध सामग्री प्रकार फ़ीड्स। आपकी प्रोग्रामिंग पसंद की भाषा के आधार पर, आपको कच्चे POST बॉडी सामग्री को निकालने का तरीका पता लगाना होगा। उदाहरण के लिए, PHP में आप इसे पढ़ने के लिए विशेष फ़ाइल नाम php: // इनपुट को फॉपेन करेंगे।

किसी भी मदद की सराहना की जाएगी।

+0

http://apidock.com/rails/ActionDispatch/Request/raw_post – hellvinz

+0

के बारे में क्या जवाब है जिसके बाद आप उत्तर दे रहे हैं? – lulalala

उत्तर

6

आपने यह नहीं कहा लेकिन मुझे लगता है कि आप रेल 3.x चला रहे हैं?

कच्चे पोस्ट बॉडी प्राप्त करने के लिए आप बस अपने नियंत्रक में request.raw_post का उपयोग करें। यह आपको एक लंबी स्ट्रिंग देगा जो अनुरोध पैरामीटर स्ट्रिंग की तरह दिखता है: some_var = कुछ & something_else = something_else ... जिसे आप फिर से प्राप्त करने के लिए पार्स कर सकते हैं।

हालांकि, आने वाले अनुरोध के लिए विकास लॉग देखें और देखें कि पैरा हैश आपके लिए बेहतर विकल्प नहीं है या नहीं। सेवा को कुछ वैरिएबल नाम के तहत डेटा पोस्ट करना चाहिए, जैसे कि ऊपर_var, और पैराम्स हैश में पैराम्स होगा [: some_var] जिसमें केवल वह डेटा होता है। दूसरे शब्दों में इसे अपने आप खोदने की जरूरत नहीं है।

संबंधित मुद्दे