在C ++中从URL加载图像

时间:2013-10-15 14:03:27

标签: c++ image http opencv poco-libraries

我正在使用C ++和OpenCV,我想从受密码保护的URL加载图像。 我成功地使用这个使用POCO库的link的想法从URL加载图像,但是当我必须使用用户名和密码才能访问URL时,我不知道该怎么做。

1 个答案:

答案 0 :(得分: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;
}