我正在尝试使用基本的HTTPS身份验证从TagniFi检索数据,但无法完成请求。根据 TagniFi 文档,身份验证密钥应该作为查询 URL 中的用户名传递,忽略密码。所以我尝试了以下内容,但它们没有按预期工作;
省略 HTTPS 基本身份验证格式
的密码和分号 即https://<username>:<password>@<website URL>
"https://<my_authentication_key>@api.tagnifi.com/fundamentals?company=aapl&tag=revenue&period_type=quarter&fiscal_year=2014&fiscal_quarter=3"
我也用分号尝试了以下内容
"https://<my_authentication_key>:@api.tagnifi.com/fundamentals?company=aapl&tag=revenue&period_type=quarter&fiscal_year=2014&fiscal_quarter=3"
TagniFi文档示例说,URL应如下所示,具有基本身份验证;
https://api.tagnifi.com/fundamentals?company=aapl&statement=income_statement&period_type=quarter&fiscal_year=2014&fiscal_quarter=3
我在Qt中得到的警告如下;
`qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_client_callback
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated`
我做错了什么?请指教。
这不是基本身份验证问题。QT 库需要使用 OpenSSL 支持进行编译。
以下是两个有用的 SO 答案:
1.( 在Qt C++中使用OpenSSL
2.( 未使用 SSL 时出现 QSslSocket 错误