2012-03-02 44 views
8

Đối với một trong các dự án của tôi, tôi đã tạo QWebView. Mọi thứ đều hoạt động tốt, nhưng khi tôi sử dụng nó ở trường, tôi gặp lỗi vì proxy không được xác định. Làm cách nào để tôi có thể tự động phát hiện proxy, như trong Firefox và IE?Tôi làm cách nào để tự động phát hiện proxy?

Tôi đã thấy điều này trong QNetworkProxyFactory:

setUseSystemConfiguration(bool enable) 

Nhưng tôi không thể tìm thấy làm thế nào để sử dụng nó.

Trả lời

11

Kể từ setUseSystemConfiguration là một phương pháp tĩnh, sau đây có thể làm những gì bạn cần:

QNetworkProxyFactory::setUseSystemConfiguration(true); 
+0

tôi đặt nó trong chính ? – Moustachauve

+0

Điều đó có lẽ sẽ là một nơi tốt cho nó. Chỉ cần thực hiện cuộc gọi đó trước khi bạn tạo QWebView của mình. –

+0

Khi tôi cố gắng sử dụng nó, tôi có 18 lỗi tương tự như sau: erreur: undefined reference to '_imp___ZN20QNetworkProxyFactory25setUseSystemConfigurationEb ' – Moustachauve

2

Dưới đây là một ví dụ làm việc của việc sử dụng hệ thống định nghĩa proxy:

QNetworkProxyQuery npq(QUrl("http://www.google.com")); 
QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::systemProxyForQuery(npq); 
if (listOfProxies.size()) 
    QNetworkProxy::setApplicationProxy(listOfProxies[0]); 
+0

Tôi sẽ đặt nó trong chính? – Moustachauve

+0

Có. Điều này đặt toàn bộ ứng dụng proxy. – Koying

Các vấn đề liên quan