2011-12-01 7 views
6

मैं एक वेब सेवाओं के लिए कुछ परीक्षण बनाने की कोशिश कर रहा हूं जो कोरस लागू करता है। तो, मुझे मूल हेडर भेजने की जरूरत है। जब मैं addRequestProperty("origin", origin) पर कॉल करता हूं, तो मूल शीर्षलेख सर्वर पर प्रकट नहीं होता है। मैं कहता हूं 'प्रतीत होता है' - मुझे उन सभी शीर्षकों पर प्रिंट करने वाला सर्वलेट मिल रहा है, और यह प्रकट नहीं होता है। मैं टीसीपीएमन के लिए सभी तरह से नहीं गया है या एक सादे सॉकेट कनेक्शन पर अनुरोध भेज रहा हूं।क्या HttpUrlConnection कुछ शीर्षकों सेंसर, विशेष रूप से उत्पत्ति?

HttpUrlConnection के लिए javadoc मैंने देखा है कि किसी भी सीमा का उल्लेख नहीं है, लेकिन मैंने एक महत्वपूर्ण वाक्य छोड़ दिया होगा। क्या यह एक प्रसिद्ध सीमा है?

+0

आप अपने सर्वलेट में कौन से वेबसर्वर चला रहे हैं? क्या कोई प्रॉक्सी है, या अन्य वेबसर्वर के बीच में? –

+0

क्या आप 'मूल' या 'उत्पत्ति' सेट कर रहे हैं? – Gian

उत्तर

6

मुझे http://javasourcecode.org/html/open-source/jdk/jdk-6u23/sun/net/www/protocol/http/HttpURLConnection.java.html मिला।

लेखक, चालाकी से, मूल रूप से कोरस स्पेक को लागू किए बिना उत्पत्ति और अन्य कोर-संबंधित शीर्षकों को मना करने का फैसला किया। यह बहुत निराशाजनक है।

+1

उस कोड को देखकर, आप इन हेडर को सेट करने में सक्षम करने के लिए 'sun.net.http.allowRestrictedHeaders' सिस्टम प्रॉपर्टी का उपयोग कर सकते हैं। – jtahlborn

+0

हां, लेकिन केवल तभी जब आप अपना पहला कनेक्शन प्राप्त करने से पहले इसे सेट करने के इच्छुक हैं और इसे कभी नहीं बदलते हैं। सौभाग्य से, अपाचे एचटीपी क्लाइंट एक समाधान है। – bmargulies

+0

प्रदान किया गया लिंक अब मान्य नहीं है। संदर्भ के लिए, यहां [एक प्रासंगिक लाइनों में से एक] के लिए एक अद्यतन लिंक है (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/sun/net/www gprcode पर /protocol/http/HttpURLConnection.java#235)। –

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