2013-10-15 69 views
2

我正在使用C++和OpenCV,我想從密碼保護的URL加載圖像。 我使用這個使用POCO庫的link的想法成功地從URL加載圖像,但我不知道當我必須使用用戶名和密碼才能訪問URL時該怎麼辦。從C++中的URL加載圖像

+1

它是HTTP身份驗證,還是它是一個Web登錄,你必須填寫一個表格,並使用Cookie? –

+0

@StevenV這是HTTP認證。 – Smn

+0

如果該庫遵循RFC 3986,則顯然要嘗試使用'http:// username:password @ example.com'。 –

回答

2

我會說什麼@StevenV說,並嘗試在URI中的憑據進行編碼。

如果這不起作用,或者您不想使用該方法,則必須使用POCO HTTPClientSession類。這樣的事情:

URI uri(url); 
HTTPClientSession session(uri.getHost(), uri.getPort()); 
HTTPRequest req(HTTPRequest::HTTP_GET, uri.getPathEtc(), HTTPMessage::HTTP_1_1); 
HTTPBasicCredentials creds("username","password"); 
creds.authenticate(req); 
session.sendRequest(req); 
HttpResponse resp; 
std::istream file = session.reveiveResponse(resp); 
if(resp.getStatus() == HTTP_OK){ 
    //copy image from istream file here; 
}