2011-03-23 10 views
16

मेरे पास एक मुख्यविंड है, इसमें मेरे पास एक QWebView है। मैं एक निश्चित वेबसाइट (उदाहरण के लिए www.kdkdkkd.com) कुकीज स्थायी बनाना चाहता हूं, इसलिए जब भी कोई उपयोगकर्ता ब्राउज़र बंद कर देता है और उसे दोबारा खोलता है तो उसे फिर से लॉग इन करने की आवश्यकता नहीं होती है।क्यूटी वेबकिट और स्थायी कुकीज़

धन्यवाद,

उत्तर

26

आपको अपना "कुकी जार" सेट करने की आवश्यकता है।

  1. QNetworkAccessManager::setCookieJar का उपयोग करें।
  2. QNetworkCookieJar बढ़ाएँ - के रूप में यह डिफ़ॉल्ट रूप से कुकी मौजूद नहीं होता ब्राउज़र बंद करने पर:

एक बार QNetworkCookieJar वस्तु नष्ट कर दिया है, सभी कुकीज़ यह निर्णय किया रूप में अच्छी तरह खारिज कर दिया हो जाएगा। यदि आप कुकीज़ को सहेजना चाहते हैं, तो आपको इस कक्षा को से प्राप्त करना चाहिए और डिस्क को अपने स्वयं के स्टोरेज प्रारूप में सहेजना चाहिए। (QNetworkCookieJar documentation से।)

आप या तो (सबसे सुरक्षित लेकिन धीरे) या केवल जब ब्राउज़र विंडो बंद हो (तेज समग्र लेकिन कम सुरक्षित बाहर निकलने के रूप में अगर असामान्य रूप से कुकी प्रत्येक QNetworkCookieJar::setCookiesFromUrl पर स्थायी भंडारण के लिए धक्का द्वारा यह कर सकता हूँ जार बचाया नहीं जाएगा)।

ध्यान दें कि some cookies को जारी नहीं रखा जाना चाहिए, आप इसे निर्धारित करने के लिए QNetworkCookie::isSessionCookie का उपयोग कर सकते हैं।

+0

मेरा मानना ​​है कि आपका मतलब है: QNetworkCookieJar :: setCookiesFromUrl मैं इसे अभी देखूंगा। – snoofkin

+0

वास्तव में, –

+0

को सही किया गया है, कृपया आप कोड के साथ समझा सकते हैं, मैं कुकीज़ को स्टोर करने में असमर्थ हूं – tharunkumar

1

एक बार कुकी (रों) एनएएम (NetworkAccessManager) में पंजीकृत है, यह उपयोग करने के लिए वेब दृश्य सेट:

myWebView->page()->setNetworkAccessManager(myNAM);

+0

फ़ॉर्मेटिंग में सुधार करने और थोड़ा वर्णनात्मक होने पर विचार करें। – nikhil

4

वहाँ एक अधिकारी क्यूटी डेमो, "Browser" कहा जाता है। यह एक कुकीजर वर्ग लागू करता है, जो QSettings स्टैक का उपयोग करके, एक .ini फ़ाइल में कुकीज़ को सहेजने और लोड करने का समर्थन करता है।

+1

एक लिंक उपयोगी होगा। – freakTheMighty

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