Qt 4.8: Описание класса QNetworkAccessManager | Документация

[protected slot] qstringlist qnetworkaccessmanager::supportedschemesimplementation() const

Lists all the URL schemes supported by the access manager.

You should not call this function directly; use QNetworkAccessManager::supportedSchemes() instead.

Reimplement this slot to provide your own supported schemes in a QNetworkAccessManager subclass. It is for instance necessary when your subclass provides support for new protocols.

Because of binary compatibility constraints, the supportedSchemes() method (introduced in Qt 5.2) is not virtual. Instead, supportedSchemes() will dynamically detect and call this slot.

This function was introduced in Qt 5.2.

See also supportedSchemes().

[signal] void qnetworkaccessmanager::authenticationrequired(qnetworkreply *reply, qauthenticator *authenticator)

This signal is emitted whenever a final server requests authentication before it delivers the requested contents. The slot connected to this signal should fill the credentials for the contents (which can be determined by inspecting the reply object) in the authenticator object.

QNetworkAccessManager will cache the credentials internally and will send the same values if the server requires authentication again, without emitting the authenticationRequired() signal. If it rejects the credentials, this signal will be emitted again.

[signal] void qnetworkaccessmanager::finished(qnetworkreply *reply)

This signal is emitted whenever a pending network reply is finished. The reply parameter will contain a pointer to the reply that has just finished. This signal is emitted in tandem with the QNetworkReply::finished() signal.

See QNetworkReply::finished() for information on the status that the object will be in.

Note: Do not delete the reply object in the slot connected to this signal. Use deleteLater().

See also QNetworkReply::finished() and QNetworkReply::error().

[signal] void qnetworkaccessmanager::proxyauthenticationrequired(const qnetworkproxy &proxy, qauthenticator *authenticator)

This signal is emitted whenever a proxy requests authentication and QNetworkAccessManager cannot find a valid, cached credential. The slot connected to this signal should fill in the credentials for the proxy proxy in the authenticator object.

QNetworkAccessManager will cache the credentials internally. The next time the proxy requests authentication, QNetworkAccessManager will automatically send the same credential without emitting the proxyAuthenticationRequired signal again.

If the proxy rejects the credentials, QNetworkAccessManager will emit the signal again.

See also proxy(), setProxy(), and authenticationRequired().

[signal] void qnetworkaccessmanager::sslerrors(qnetworkreply *reply, const qlist<qsslerror> &errors)

This signal is emitted if the SSL/TLS session encountered errors during the set up, including certificate verification errors. The errors parameter contains the list of errors and reply is the QNetworkReply that is encountering these errors.

To indicate that the errors are not fatal and that the connection should proceed, the QNetworkReply::ignoreSslErrors() function should be called from the slot connected to this signal. If it is not called, the SSL session will be torn down before any data is exchanged (including the URL).

[virtual protected] qnetworkreply *qnetworkaccessmanager::createrequest(operationop, const qnetworkrequest &req, qiodevice *outgoingdata = q_nullptr)

Returns a new QNetworkReply object to handle the operation op and request req. The device outgoingData is always 0 for Get and Head requests, but is the value passed to post() and put() in those operations (the QByteArray variants will pass a QBuffer object).

The default implementation calls QNetworkCookieJar::cookiesForUrl() on the cookie jar set with setCookieJar() to obtain the cookies to be sent to the remote server.

The returned object must be in an open state.

Sends a request to delete the resource identified by the URL of request.

Enum qnetworkaccessmanager::operation

Указывает операцию, обрабатывающую этот ответ.

Networkaccessibility qnetworkaccessmanager::networkaccessible() const

Returns the current network accessibility.

This function was introduced in Qt 4.7.

Note: Getter function for property networkAccessible.

See also setNetworkAccessible().

This signal is emitted when the value of the networkAccessible property changes. accessible is the new network accessibility.

Note: Notifier signal for property networkAccessible.

Qnetworkaccessmanager::~qnetworkaccessmanager ()

Уничтожает объект QNetworkAccessManager и освобождает все ресурсы. Заметьте, что объекты QNetworkReply, возвращаемые из этого класса, являются его потомками, что означает что они будут они удалены вместе с ним если вы не вызовите для них QObject::setParent().

Qnetworkaccessmanager::~qnetworkaccessmanager()

Destroys the QNetworkAccessManager object and frees up any resources. Note that QNetworkReply objects that are returned from this class have this object set as their parents, which means that they will be deleted along with it if you don’t call QObject::setParent() on them.

Qnetworkaccessmanager::qnetworkaccessmanager ( qobject * parent = 0 )

Создаёт объект QNetworkAccessManager, который является центром API сетевого доступа и устанавливает parent в качестве родителя.

Qnetworkaccessmanager::qnetworkaccessmanager(qobject *parent = q_nullptr)

Constructs a QNetworkAccessManager object that is the center of the Network Access API and sets parent as the parent object.

Qnetworkconfiguration qnetworkaccessmanager::activeconfiguration () const

Возвращает текущую активную сетевую конфигурацию.

Если сетевая конфигурация, которую вернула configuration(), имеет тип QNetworkConfiguration::ServiceNetwork, то эта функция возвратит текущую активную дочернюю сетевую конфигурацию. В противном случае будет возвращена та же сетевая конфигурация, что и configuration().

Используйте эту функция для возврата фактической сетевой конфигурации, используемой в настоящее время сетевой сессией.

Эта функция была введена в Qt 4.7.

Qnetworkconfiguration qnetworkaccessmanager::activeconfiguration() const

Returns the current active network configuration.

If the network configuration returned by configuration() is of type QNetworkConfiguration::ServiceNetwork this function will return the current active child network configuration of that configuration. Otherwise returns the same network configuration as configuration().

Use this function to return the actual network configuration currently in use by the network session.

This function was introduced in Qt 4.7.

See also configuration().

Qnetworkconfiguration qnetworkaccessmanager::configuration() const

Returns the network configuration that will be used to create the network session which will be used when processing network requests.

This function was introduced in Qt 4.7.

See also setConfiguration() and activeConfiguration().

Qnetworkcookiejar * qnetworkaccessmanager::cookiejar () const

Возвращает QNetworkCookieJar, который используется для хранения куков, полученных из сети, а также куков, которые готовы к отправке.

Qnetworkproxy qnetworkaccessmanager::proxy () const

Возвращает QNetworkProxy, который будут использовать посылаемые запросы, использующие объект QNetworkAccessManager. Значение по умолчанию для прокси равно QNetworkProxy::DefaultProxy.

Qnetworkproxy qnetworkaccessmanager::proxy() const

Returns the QNetworkProxy that the requests sent using this QNetworkAccessManager object will use. The default value for the proxy is QNetworkProxy::DefaultProxy.

See also setProxy(), setProxyFactory(), and proxyAuthenticationRequired().

Qnetworkreply * qnetworkaccessmanager::createrequest ( operationop, const qnetworkrequest & req, qiodevice * outgoingdata = 0 )   [virtual protected]

Возвращает новый объект QNetworkReply для управления операцией op и запросом req. Устройство outgoingData всегда равно 0 для запросов Get и Head, а переданное значение в операции post() и put() (переменные QByteArray передадутся как объект QBuffer).

Реализация по-умолчанию вызывает QNetworkCookieJar::cookiesForUrl() для архива куки, установленного в setCookieJar(), чтобы получить куки, готовые к отправке на удалённый сервер.

Возвращаемый объект должен быть в открытом состоянии.

Qnetworkreply * qnetworkaccessmanager::deleteresource ( const qnetworkrequest & request )

Посылает запрос на удаление ресурса, идентифицируемого по URL запроса request.

Qstringlist qnetworkaccessmanager::supportedschemes() const

Lists all the URL schemes supported by the access manager.

This function was introduced in Qt 5.2.

See also supportedSchemesImplementation().

Void qnetworkaccessmanager::authenticationrequired ( qnetworkreply * reply, qauthenticator * authenticator )   [signal]

Этот сигнал вырабатывается в любое время, когда конечный сервер запросит аутентификацию перед доставкой запрошенного содержимого. Слот, соединённый с этим сигналом, должен заполнять аутентификационную информацию для содержимого (которые могут быть определены просмотром объекта reply) в объекте authenticator.

QNetworkAccessManager кэширует эту информацию и будет посылать те же данные если сервер запросит аутентификацию снова без вырабатывания сигнала authenticationRequired(). Если сервер отклонит эти данные, этот сигнал будет выработан снова.

Void qnetworkaccessmanager::connecttohostencrypted(const qstring &hostname, quint16port, const qsslconfiguration &sslconfiguration, const qstring &peername)

This is an overloaded function.

Void qnetworkaccessmanager::proxyauthenticationrequired ( const qnetworkproxy & proxy, qauthenticator * authenticator )   [signal]

Этот сигнал вырабатывается когда прокси требует аутентификацию и QNetworkAccessManager не может найти годную кэшированную информацию. Слот, соединённый с этим сигналом, должен заполнять аутентификационную информацию для прокси proxy в объекте authenticator.

QNetworkAccessManager будет кэшировать эту информацию. В следующий раз, когда прокси запросит аутентификацию, QNetworkAccessManager будет автоматически посылать те же данные без повторного вырабатывания сигнала proxyAuthenticationRequired.

Если прокси отклонит эти данные, то QNetworkAccessManager выработает этот сигнал снова.

Void qnetworkaccessmanager::setcache(qabstractnetworkcache *cache)

Sets the manager’s network cache to be the cache specified. The cache is used for all requests dispatched by the manager.

Use this function to set the network cache object to a class that implements additional features, like saving the cookies to permanent storage.

Note: QNetworkAccessManager takes ownership of the cache object.

QNetworkAccessManager by default does not have a set cache. Qt provides a simple disk cache, QNetworkDiskCache, which can be used.

This function was introduced in Qt 4.5.

See also cache() and QNetworkRequest::CacheLoadControl.

Void qnetworkaccessmanager::setconfiguration ( const qnetworkconfiguration & config )

Устанавливает сетевую конфигурацию, которая будет использована при создании сетевой сессии для config.

Сетевая конфигурация используется для создания и открытия сетевой сессии перед любым запросом, которому требуется доступ к сети. Если в этой функции не установлена сетевая конфигурация, то будет использована сетевая конфигурация, которую возвратит QNetworkConfigurationManager::defaultConfiguration().

Чтобы восстановить сетевую конфигурацию по умолчанию установите сетевую конфигурацию в значение, которое возвратит QNetworkConfigurationManager::defaultConfiguration().

QNetworkConfigurationManager manager;
 networkAccessManager->setConfiguration(manager.defaultConfiguration());

Если установлена неправильная сетевая конфигурация, то сетевая сессия не будет создана. В этом случае сетевые запросы будут обрабатываться независимо, но возможно потерпят неудачу. Например:

 networkAccessManager->setConfiguration(QNetworkConfiguration());

Эта функция была введена в Qt 4.7.

Void qnetworkaccessmanager::setconfiguration(const qnetworkconfiguration &config)

Sets the network configuration that will be used when creating the network session to config.

The network configuration is used to create and open a network session before any request that requires network access is process. If no network configuration is explicitly set via this function the network configuration returned by QNetworkConfigurationManager::defaultConfiguration() will be used.

To restore the default network configuration set the network configuration to the value returned from QNetworkConfigurationManager::defaultConfiguration().

Setting a network configuration means that the QNetworkAccessManager instance will only be using the specified one. In particular, if the default network configuration changes (upon e.g. Wifi being available), this new configuration needs to be enabled manually if desired.

QNetworkConfigurationManager manager;
  networkAccessManager->setConfiguration(manager.defaultConfiguration());

If an invalid network configuration is set, a network session will not be created. In this case network requests will be processed regardless, but may fail. For example:


  networkAccessManager->setConfiguration(QNetworkConfiguration());

This function was introduced in Qt 4.7.

See also configuration() and QNetworkSession.

Void qnetworkaccessmanager::setcookiejar ( qnetworkcookiejar * cookiejar )

Устанавливает архив куков (cookie jar) менеджера, указанный в cookieJar. Архив куков используется всеми запросами, отправляемыми менеджером.

Используйте эту функцию для установки объекта архива куков классу, который реализует дополнительные средства, такие как сохранение куков в постоянном хранилище.

Замечание:QNetworkAccessManager становится владельцем объекта cookieJar.

QNetworkAccessManager установит переданному ему cookieJar родителя, поэтому этот архив куков удаляется, когда удаляется этот объект. Если вы хотите разделить архивы куков между разными объектами QNetworkAccessManager, вы можете захотеть установить родителя архива куков равным 0 после вызывания этой функции.

QNetworkAccessManager по умолчанию сам не реализует ни какую политику куков: он принимает все куки, посланные сервером, пока они правильно сформированы и отвечают минимальным требованиям безопасности (домен куки и путь совпадают домену и пути запроса).

Чтобы реализовать вашу собственную политику безопасности, переопределите виртуальные функции QNetworkCookieJar::cookiesForUrl() и QNetworkCookieJar::setCookiesFromUrl(). Эти функции вызываются QNetworkAccessManager когда он определяет новую куку.

Void qnetworkaccessmanager::setcookiejar(qnetworkcookiejar *cookiejar)

Sets the manager’s cookie jar to be the cookieJar specified. The cookie jar is used by all requests dispatched by the manager.

Use this function to set the cookie jar object to a class that implements additional features, like saving the cookies to permanent storage.

Note: QNetworkAccessManager takes ownership of the cookieJar object.

If cookieJar is in the same thread as this QNetworkAccessManager, it will set the parent of the cookieJar so that the cookie jar is deleted when this object is deleted as well. If you want to share cookie jars between different QNetworkAccessManager objects, you may want to set the cookie jar’s parent to 0 after calling this function.

QNetworkAccessManager by default does not implement any cookie policy of its own: it accepts all cookies sent by the server, as long as they are well formed and meet the minimum security requirements (cookie domain matches the request’s and cookie path matches the request’s).

In order to implement your own security policy, override the QNetworkCookieJar::cookiesForUrl() and QNetworkCookieJar::setCookiesFromUrl() virtual functions. Those functions are called by QNetworkAccessManager when it detects a new cookie.

See also cookieJar(), QNetworkCookieJar::cookiesForUrl(), and QNetworkCookieJar::setCookiesFromUrl().

Void qnetworkaccessmanager::setnetworkaccessible(networkaccessibilityaccessible)

Overrides the reported network accessibility. If accessible is NotAccessible the reported network accessiblity will always be NotAccessible. Otherwise the reported network accessibility will reflect the actual device state.

This function was introduced in Qt 4.7.

Note: Setter function for property networkAccessible.

See also networkAccessible().

Void qnetworkaccessmanager::setproxy(const qnetworkproxy &proxy)

Sets the proxy to be used in future requests to be proxy. This does not affect requests that have already been sent. The proxyAuthenticationRequired() signal will be emitted if the proxy requests authentication.

A proxy set with this function will be used for all requests issued by QNetworkAccessManager. In some cases, it might be necessary to select different proxies depending on the type of request being sent or the destination host. If that’s the case, you should consider using setProxyFactory().

See also proxy() and proxyAuthenticationRequired().

Void qnetworkaccessmanager::setproxyfactory ( qnetworkproxyfactory * factory )

Устанавливает фабрику прокси для данного класса равной factory. Фабрика прокси используется для определения более специфичного списка прокси для использования с заданным запросом, вместо попыток использования одного и того же значения прокси для всех запросов.

Все запросы отправляются QNetworkAccessManager’ом будет иметь тип QNetworkProxyQuery::UrlRequest.

Например, фабрика прокси может применять следующие правила:

Временем жизни объекта factory управляет QNetworkAccessManager. Он удалит объект когда будет необходимо.

Замечание: Если указанный прокси установлен с помощью setProxy(), то фабрика не будет использоваться.

Эта функция была введена в Qt 4.5.

Void qnetworkaccessmanager::sslerrors ( qnetworkreply * reply, const qlist<qsslerror> & errors )   [signal]

Этот сигнал вырабатывается если сессия SSL/TLS сталкивается с ошибкой в момент установки, включая ошибки проверки сертификатов. Параметр errors содержит список ошибок и reply это QNetworkReply, который столкнулся с этими ошибками.

Для указания того, что эти ошибки не фатальны и что соединение должно быть продолжено, функция QNetworkReply::ignoreSslErrors() должна быть вызвана из слота, соединённого с сигналом. Если она не будет вызвана, сессия SSL будет сброшена перед любым обменом данных (включая URL).

Этот сигнал может быть использован для отображения сообщения об ошибке пользователю, указывая что безопасность может быть скомпрометирована и отобразить настройки SSL (для её получения смотрите sslConfiguration()). Если пользователь решает продолжить после анализа сертификата удалённой стороны, слот должен вызвать ignoreSslErrors().

Поддержка сети и автоматического переподключения

С добавлением API Bearer Management в Qt 4.7 QNetworkAccessManager получает возможность управлять сетевыми соединениями. QNetworkAccessManager может запустить сетевой интерфейс если устройство отключено и остановить интерфейс если текущий процесс является последним, использующим восходящий поток.

Обратите внимание на то, что некоторые платформы используют промежуток отсрочки между тем, когда последнее приложение прекратит использование восходящий поток и тем, когда система фактически завершит подключение. Роуминг в равной степени прозрачен. Любые подвисшие/поставленные в очередь запросы автоматически переносятся на новую точку доступа.

Клиенты, желающие использовать эту функцию, не должны требовать никаких изменений. На самом деле вполне вероятно, что существующий платформо-зависимый код соединения можно просто удалить из приложения.

Примечание: Поддержка сети и роуминга в QNetworkAccessManager обусловлена поддержкой платформой управления соединениями. QNetworkConfigurationManager::NetworkSessionRequired можно использовать для обнаружения того, использует ли QNetworkAccessManager эту возможность. В настоящее время только платформы Meego/Harmattan и Symbian предоставляют поддержку управления соединениями.

Примечание: Эта функция не может быть использована совместно с API управления однонаправленным каналом как это предусмотрено QtMobility. Приложения должны быть переведены на версию Qt с управлением однонаправленным каналом.

Требования платформы symbian к безопасности

В Symbian процессы, использующие этот класс, должны иметь мандат безопасности платформы NetworkServices. Если клиентский процесс не имеет такой возможности, то операции приведут к панике.

Возможности безопасности платформы добавляются через переменную TARGET.CAPABILITY qmake.

Похожее:  Моя страница на Дневник ру — login dnevnik ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *