2013-10-15 1 views
2

C++ 및 OpenCV를 사용하고 있으며 비밀번호로 보호 된 URL에서 이미지를로드하고 싶습니다. POCO 라이브러리를 사용하는이 link의 아이디어를 사용해, URL로부터 이미지를로드하는데 성공 했습니다만, URL에 액세스하기 위해서 (때문에) 유저 명과 패스워드를 사용해야 할 때, 어떻게하면 좋을지 모릅니다.C++의 URL에서 이미지로드

+1

HTTP 인증입니까, 아니면 양식을 작성하고 쿠키를 사용해야하는 웹 로그인입니까? –

+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; 
}