मैं वेबपृष्ठ के साथ-साथ अपने सभी संसाधनों को डाउनलोड करने के लिए QWebPage
का उपयोग करता हूं। साथ ही मैं इस प्रक्रिया के दौरान क्यूटी द्वारा डाउनलोड किए जा रहे कच्चे डेटा को पकड़ना चाहता हूं। QNetworkReply
से सिग्नल एक अच्छा समाधान नहीं है क्योंकि डेटा QWebPage
द्वारा पहले से ही पढ़ा जा सकता था। इसका कारण यह हैक्यूनेटवर्क से डेटा कैसे पढ़ा जाए क्यूवेबेज द्वारा उपयोग किया जा रहा है?
QNetworkReply एक अनुक्रमिक अभिगम QIODevice, जिसका अर्थ है कि डेटा एक बार वस्तु से पढ़ी जाती है यह अब डिवाइस द्वारा रखा है।
QNetworkReply
की
detailed description के अनुसार
।
हालांकि QWebPage
ओवरराइड createRequest
विधि
QNetworkReply * QNetworkAccessManager::createRequest (Operation op, const QNetworkRequest & req, QIODevice * outgoingData = 0)
के साथ कस्टम QNetworkAccessManager
उपयोग करने के लिए विन्यस्त किया जा सकता मुझे लगता है कि सही समाधान QNetworkReply
के लिए एक प्रॉक्सी बना सकते हैं और createRequest
विधि में इसे वापस करने के लिए किया जाएगा। इस प्रॉक्सी को उत्तर से डेटा पढ़ने की अनुमति देनी चाहिए क्योंकि मूल QNetworkReply
(QWebPage
इसके साथ डेटा पढ़ सकता है) के साथ-साथ उसी समय प्रॉक्सी को QWebPage
द्वारा पढ़े जाने के बाद अन्य ऑब्जेक्ट्स द्वारा डेटा पढ़ने की अनुमति देनी चाहिए। दूसरे शब्दों में हमें QNetworkReply
के IODevice
बेस क्लास के लिए tee की आवश्यकता है।
इस प्रॉक्सी को कैसे लिखें?
हाय पियेटर, क्या आपको पता है कि प्रॉक्सी अभी भी कहीं उपलब्ध है या नहीं? लिंक टूटा हुआ प्रतीत होता है। – izyda
@izyda ऐसा लगता है कि लिंक केवल temporarliy अनुपलब्ध है - * भंडार जल्द ही केवल पढ़ने के लिए उपलब्ध होगा, मूल क्लोन यूआरएल संरक्षित। * –
समझ गया। एक तरफ ध्यान दें, क्या आपको लगता है कि subclassing QtNetworkResponse peek() का उपयोग करने से बेहतर विकल्प है? – izyda