Qt代码理解

哈基姆·巴卡利(Hakeem El Bakka-lee)

我现在已经在代码段中挣扎了好几天,我想知道是否有人可以帮助我理解该代码段。我不要求任何代码,请有人向我解释一下:(一个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 ) );
    }
尼古拉斯·史密斯

因此,您所拥有的函数带有两个参数,即您要访问的URIQNetworkRequestQStringa的引用和对a的常量引用接下来的几行设置QSslConfiguration为获取Qt网络访问的默认SSL配置,并将其存储在config中。然后,它会设置一些其他QSsl选项,然后设置刚才设置a_request的SSL设置config

接下来,它为请求设置了一些HTTP标头,因此这些标头经过了合理的标准化,因此Accept可以引用服务器可接受的信息(在这种情况下为xml接受标头文档))。Content-type通知类型的数据你在请求主体内容发送接收服务器。

最后阶段设置一个非标准的HTTP标头,该标头用于应用程序API访问密钥,此后它设置您最初传递的URL,并且功能已完成。之后,QNetworkRequest可以使用QNetworkAccessManager来将请求发送到服务器,并使用已编码的API密钥,然后您将收到XML响应。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章