रिक्वेस्ट रेफर पाथ कैसे प्राप्त करें?


83

मुझे रेफ़रर की राह चाहिए। मुझे डोमेन नाम नहीं चाहिए। उदाहरण के लिए, यदि रेफरल http://www.google.com/adsenseमैं चाहता हूं /adsense

जवाबों:


139

request.refererएक स्ट्रिंग लौटाता है, लेकिन आप इसे लपेटने के लिए रूबी के यूआरआई मॉड्यूल का उपयोग कर सकते हैं और फिर बस इसके रास्ते के लिए पूछ सकते हैं:

if URI(request.referer).path == '/adsense'

4
मैं उस URI (request.referer) लाइन का उपयोग कर रहा हूं और URI :: InvalidURIError: bad URI (क्या यह URI?) त्रुटि नहीं है। कोई आइडिया कि यह क्या हो सकता है?
कटारे

यह कहना मुश्किल है कि यह अधिक जानकारी के बिना क्या हो सकता है। request.refererरूबी में सिर्फ यह देखने की कोशिश करें कि रूबी को यह क्यों पसंद नहीं आया। (पुनश्च: आप किसी अन्य प्रश्न के उत्तर पर टिप्पणी के बजाय अपने प्रश्न को एक अलग प्रश्न के रूप में पूछना चाह सकते हैं। :-))
chadoh

1
की जाँच करें इस सवाल के बारे में अधिक जानने के लिए URI::InvalidURIError
जेम्स शेवेलियर

ताज्जुब की बात है, रेफर करने वाला एक अमान्य यूआरआई हो सकता है, भले ही वह खाली न हो। मैंने इसे 'रेफ़र' वाले रेफ़र के साथ जोड़ा, जिसने URI उठाया: InvalidURIError मैं URI.Parse को एक शुरुआती / बचाव / अंत ब्लॉक में लपेट रहा हूं।
टॉम

27

आप के साथ रेफरल का उपयोग कर सकते हैं

request.referer

3
लेकिन रेफर करने वाला पूरा यूआरएल देता है। मुझे पथ की आवश्यकता है
rails101

2
सहायक लिंक के लिए धन्यवाद, @Fivell। मैंने इस जानकारी के साथ इस थ्रेड में स्वयं के साथ एक उत्तर जोड़ा है ताकि भविष्य के आगंतुक लिंक-रोट से ग्रस्त न हों।
चड़ोह 12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.