1

私は何日もコード スニペットに苦労しています。誰かがこのコード スニペットを理解するのを手伝ってくれるかどうか疑問に思っていました。私はコードを求めているわけではありません。誰かが私にこれを説明してください: (uriはサービスへの完全なURLのようです)

    void RestClient::_prepareRequest( QNetworkRequest& a_request, const QString& a_uri ){ 
        QSslConfiguration config(QSslConfiguration::defaultConfiguration());
        config.setProtocol(QSsl::SslV3);
        config.setSslOption(QSsl::SslOptionDisableServerNameIndication, true);
        a_request.setSslConfiguration(config);
        a_request.setRawHeader("Accept", "application/xml");
        a_request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
        QByteArray l_api_key; l_api_key.append( toQString( m_api_key) );
        QByteArray l_request_hash; 
    l_request_hash.append( toQString( _buildRequestHash( toStlString(a_uri) ) ) );
        a_request.setRawHeader("EMApikey", l_api_key );
        a_request.setRawHeader("EMRequestHash", l_request_hash );


        a_request.setUrl( QUrl( a_uri ) );
    }
4

1 に答える 1

2

つまり、a への参照と、アクセスする URIQNetworkRequestの a への定数参照です。QString次の行はQSslConfiguration、Qt のネットワーク アクセス用のデフォルトの SSL 構成を取得するように設定し、config.xml に保存します。次に、さらにいくつかのQSslオプションを設定し、a_request設定した によって提供されるように の SSL 設定を設定しますconfig

次に、リクエスト用のいくつかの HTTP ヘッダーを設定するため、これらは合理的に標準化されているためAccept、サーバーからの応答にどのような種類の情報が許容されるかが参照されます。この場合はxml( Accept ヘッダー ドキュメント)。はContent-type、リクエスト本文で送信するデータの種類を受信サーバーに伝えます。

最終段階では、アプリケーション API アクセス キー用の非標準 HTTP ヘッダーを設定し、その後、最初に渡した URL を設定して、関数は完了します。その後、QNetworkRequestを使用しQNetworkAccessManagerてサーバーにリクエストを送信し、API キーをエンコードすると、XML レスポンスが返されます。

于 2013-11-04T11:02:02.367 に答える