我想在Ubuntu Linux上使用POCO C++庫從網絡流中解壓縮文件,但解壓縮失敗,出現「非法狀態」異常。 HTTPResponse
狀態和原因是302暫時移動。同時我可以通過瀏覽器下載並解壓縮鏈接。當HTTPResponse
處於這種狀態時我該怎麼辦HTTPClientSession
?POCO C++庫,HTTPResponse狀態不佳
...
HTTPResponse res;
std::istream& rs = h_ses.receiveResponse (res);
if (res.getStatus() != HTTPResponse::HTTP_OK) {
poco_error (logger, "http response status: " + std::to_string (res.getStatus()) + " " + res.getReason());
}
if (!rs) {
poco_error (logger, "responese stream is in bad state: " + std::to_string (rs.rdstate()));
}
Decompress dec (rs, target_dir_.native());
poco_debug (logger, "Unzipping: " + dl + " ...");
dec.EError += Poco::Delegate<Addon_Loader, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &Addon_Loader::on_decompress_error);
dec.decompressAllFiles();
...