Zapytania proxy Qt obejmują rodzaj połączenia
Utrzymuj kandydatów proxy Qt powiązanych z docelowym URL i operacją, zamiast zamrażać jeden wynik jako adres globalny.
QNetworkProxyQuery query(QUrl(QStringLiteral("https://service.example.net/")));
const auto candidates = QNetworkProxyFactory::systemProxyForQuery(query);
To zapytanie Qt Network sprawdza zasady dla jednego URL. Dołącz odpowiednie nagłówki Qt Network. Nie otwiera połączenia ani nie ustala trasy dla każdego gniazda w procesie.
QNetworkProxyQuery zawiera informacje o miejscu docelowym i typ zapytania. Operacje TCP, UDP i serwera mogą wymagać innych możliwości niż proxy buforujące HTTP lub tunel HTTP, albo proxy SOCKS. Odpytuj nieudaną operację, a nie wygodną, niepowiązaną stronę publiczną.
Interpretuj typ każdego kandydata. NoProxy celowo wybiera dostęp bezpośredni; host wyglądający na pusty w tym wyniku nie jest błędem wykrywania. Zachowaj kolejność preferencji i alternatywnych kandydatów.
Gdy routing ma pozostać dynamiczny, użyj obsługiwanej integracji konfiguracji systemowej lub fabryki proxy dla uczestniczącego gniazda lub QNetworkAccessManager. Zamrożenie pierwszego wyniku jako stałego punktu końcowego aplikacji odrzuca późniejsze decyzje dla poszczególnych celów. Sprawdź rzeczywistego menedżera lub zainstalowaną fabrykę aplikacji: wywołanie diagnostyczne obok nie dowodzi, że używa tej samej zasady.
Wbudowana przeglądarka może mieć inny stos sieciowy niż Qt Network. Ważny kandydat gniazda Qt nie dowodzi, że każdy komponent obsługuje ten sam protokół lub uwierzytelnianie.