http用のPOCO C ++ネットライブラリを使用しています
永続的なキャッシュの戦略を立ててみたいと思います。
まず、キャッシュ ヘッダーから有効期限を取得し、キャッシュされた値とクロス チェックする必要があると思います (間違っている場合は教えてください)。
では、キャッシュ ヘッダーを抽出するにはどうすればよいhttpResponse
でしょうか。
Java でこれを実行できることを確認しました ( getFirstHeader()
) が、POCO C++ ではどのように実行すればよいでしょうか?
以下は、POCO を使用した通常の http GET リクエストです。
try
{
// prepare session
URI uri("http://www.google.se");
HTTPClientSession session(uri.getHost(), uri.getPort());
// prepare path
string path(uri.getPathAndQuery());
if (path.empty()) path = "/";
// send request
printnet(path.c_str());
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
session.sendRequest(req);
// get response
printnet("Get response");
HTTPResponse res;
cout << res.getStatus() << " " << res.getReason() << endl;
// print response
istream &is = session.receiveResponse(res);
StreamCopier::copyStream(is, cout);
}
catch (Exception &ex)
{
printnet(ex.displayText().c_str());
return -1;
}
return 0;