विजुअल सी ++ 2008 एसपी 1 के साथ विंडोज 7 पर क्यूटी एसडीके 1.1.4 का क्लीन इंस्टॉल; मैं क्यूटी निर्माता का उपयोग कर रहा हूँ। यह कोड कुछ वेब पेज क्यों लोड नहीं करता है?क्यूवेब व्यू/क्यूटी वेबकिट कुछ एसएसएल पेज नहीं खोलेंगे; रीडायरेक्ट की अनुमति नहीं है?
#include <QtGui/QApplication>
#include <QtWebKit/QWebView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWebView b;
b.load(QUrl("https://gmail.com")); // doesn't work
//b.load(QUrl("https://accounts.google.com")); // works
//b.load(QUrl("https://google.com")); // doesn't work
//b.load(QUrl("https://www.google.com")); // works
b.show();
return a.exec();
}
कुछ यूआरएल क्यों काम नहीं करते हैं, और अन्य करते हैं?
मुझे लगता है कि google.com/www.google.com विशेष रूप से बता रहा है; google.com सामान्य रूप से www.google.com पर रीडायरेक्ट करता है। और gmail.com accounts.google.com पर रीडायरेक्ट कर रहा है। क्या वेबकिट सुरक्षित पृष्ठों को रीडायरेक्ट करने की इजाजत नहीं दे रहा है? यदि हां, तो इसे कैसे ठीक करें?
वैसे, क्यूटी एसडीके 1.1.4 में ओपनएसएसएल शामिल है; मैंने सी: \ QtSDK \ डेस्कटॉप \ Qt \ 4.7.4 \ msvc2008 \ bin \ ssleay32.dll पर इसकी उपस्थिति देखी। यह भी ध्यान दें कि कुछ पृष्ठ काम करने लगते हैं, बस दूसरों को नहीं।
संपादित करें: दो और यूआरएल:
b.load(QUrl("https://support.motionview3d.com/help/_media/images/directory.png")); // doesn't work
b.load(QUrl("https://mail.google.com")); // works
फिर, अन्य वेब ब्राउज़र में इन काम ठीक से दोनों।
क्या गड़बड़ है? ऐसा लगता है कि यहां केवल दो संभावनाएं हैं: (1) एचटीटीपी स्पेक रीडायरेक्टिंग या अन्य विशेष मामलों के दौरान खराब प्रमाणपत्र की अनुमति देता है, लेकिन क्यूटी में एक बग है और रीडायरेक्ट को पहली जगह में एक्सेस करने से इंकार कर दिया जाता है (यह "बहुत सख्त" है)। या (2) Google प्रशासकों ने गलती की लेकिन ध्यान नहीं दिया क्योंकि इंटरनेट एक्सप्लोरर, फ़ायरफ़ॉक्स, क्रोम और अन्य प्रमुख ब्राउज़रों में गंभीर सुरक्षा छेद है। यहाँ क्या चल रहा है? –
ठीक है, ऐसा लगता है कि क्यूटी औसत वेब ब्राउज़र की तुलना में एसएसएल त्रुटियों से कम सहनशील है।यह पता चला है कि जिस सर्वर पर मैं वास्तव में परवाह करता हूं उस पर वेबमास्टर सर्वर पर इंटरमीडिएट प्रमाणपत्र स्थापित नहीं करता है: http://www.sslshopper.com/ssl-certificate-not-trusted-error.html (अंतिम विकल्प देखें)। –
ui में इन त्रुटियों को प्रदर्शित करने के लिए इसे '' 'example/network/securesocketclient''' के साथ संयोजित करना भी संभव है। –