2017-05-08 34 views
0

我正在嘗試使用基本HTTPS身份驗證從TagniFi檢索數據,但無法完成請求。根據TagniFi doc,認證密鑰應該作爲查詢URL中的用戶名傳遞,而忽略密碼。所以我嘗試了以下方法,但他們沒有按預期工作。HTTPS TagniFi的基本身份驗證在Qt中失敗

省略密碼和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 doc example表示該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` 

我在做什麼錯?請指教。

回答

0

這不是基本身份驗證問題。 QT庫需要用OpenSSL支持進行編譯。

這裏有兩個有用的,這樣的答案:

1)Use OpenSSL in Qt C++

2)QSslSocket error when SSL is NOT used

+0

你好,戴夫感謝您的回答。這可能是一個愚蠢的問題,但只是想澄清。是否可以在沒有openSSL支持的情況下使用HTTPS?因爲如果使用像openSSL這樣強大的冷凍軟件,我所製作的應用程序不能在世界各地使用。請指教。 – Vino