मुझे किसी वेबसाइट पर लॉगिन करने और एक क्रिया करने की आवश्यकता है। वेबसाइट बाकी आधारित है तो मैं आसानी से ऐसा करने से प्रवेश कर सकते हैं (लॉगिन जानकारी URL पर क्वेरी स्ट्रिंग के रूप में शामिल किया गया है, तो मैं dont't साख निर्धारित करने की आवश्यकता):सी # क्लाइंट पर HTTPS पर सत्र बनाए रखने
CookieContainer cookieJar = new CookieContainer();
HttpWebRequest firstRequest = (HttpWebRequest) WebRequest.Create(loginUrl);
firstRequest.CookieContainer = cookieJar;
firstRequest.KeepAlive = true;
firstRequest.Method = "POST";
HttpWebResponse firstResponse = (HttpWebResponse)firstRequest.GetResponse();
यही काम करता है और मुझे लॉग में। मुझे सत्र बनाए रखने के लिए एक कुकी वापस मिलती है और यह ऊपर दिखाए गए कुकीज में संग्रहीत है। तब मैं इस जैसे एक दूसरे अनुरोध करते हैं:
HttpWebRequest secondRequest = (HttpWebRequest) WebRequest.Create(actionUrl);
secondRequest.Method = "POST";
secondRequest.KeepAlive = true;
secondRequest.CookieContainer = cookieJar;
WebResponse secondResponse = secondRequest.GetResponse();
और मैं यह सुनिश्चित मैं नया अनुरोध करने के लिए कुकीज़ आवंटित। लेकिन किसी कारण से यह काम नहीं करता है। मुझे एक त्रुटि वापस आती है कि "मेरा सत्र समय समाप्त हो गया है या समाप्त हो गया है", और यह एक के बाद एक सही किया गया है, इसलिए यह एक समय मुद्दा नहीं है।
मैंने HTTP शीर्षकों की जांच करने के लिए फिडलर का उपयोग किया है, लेकिन मुझे यह मुश्किल लगता है क्योंकि यह HTTPS है। (मुझे पता है कि मैं इसे डिक्रिप्ट कर सकता हूं लेकिन अच्छी तरह से काम नहीं कर रहा है।)
मैं अपने यूआरएल को इस बाकी सेवा के लिए ले सकता हूं और उन्हें फ़ायरफ़ॉक्स में पेस्ट कर सकता हूं और यह सब ठीक काम करता है, इसलिए यह कुछ ऐसा होना चाहिए जो मैं कर रहा हूं गलत और कनेक्शन के दूसरे छोर नहीं।
मैं HTTPS से बहुत परिचित नहीं हूं। क्या मुझे अपना सत्र बनाए रखने के लिए कुछ और करने की ज़रूरत है? मैंने सोचा कि कुकी यह होगी, लेकिन शायद दो अनुरोधों में मुझे कुछ और बनाए रखने की ज़रूरत है?
यहाँ हेडर लौटे जब मैं पहली बार अनुरोध में भेज रहे हैं (सिवाय मैं मासूम की रक्षा करने के लिए कुकी बदल गया है!):
X-DB-Content-length=19
Keep-Alive=timeout=15, max=50
Connection=Keep-Alive
Transfer-Encoding=chunked
Content-Type=text/html; charset=WINDOWS-1252
Date=Mon, 16 Nov 2009 15:26:34 GMT
Set-Cookie:MyCookie stuff goes here
Server=Oracle-Application-Server-10g
किसी भी मदद की सराहना की जाएगी, मैं विचारों से बाहर चल रहा हूँ।
माइक्रोसॉफ्ट ने इसे .NET 4. – Kelly
में तय किया है हाय केली, मुझे कुछ सत्र का समय भी समाप्त हो रहा है जो आपके मामले के समान हो सकता है, क्या आप कृपया इस लिंक पर एक नज़र डालें: http://stackoverflow.com/ प्रश्न/22957840/क्रॉलिंग-सत्र-समाप्त धन्यवाद – bluewonder