C++でいい感じでHTTPが扱えるライブラリnanowww使ってみた

ずいぶん前に見かけてたけどすっかり忘れてた。cURLpp使うの結構めんどいと思ってたら nanowww というシンプルなライブラリがあった。

Big Sky :: picojsonとnanowwwを使って「関係ないbot」書いた。

Rubyとかスクリプト言語に慣れた身にはすごくしっくり来る使い心地。

まず、Gitで管理している自分のプロジェクトに submodule として nanowww を取り込む。

git submodule add https://github.com/tokuhirom/nanowww.git

さらに、nanowww自身も他のプロジェクトを submodule として参照しているのでそれらのソースを取得する。

cd nanowww
git submodule init extlib/*
git submodule update

これで必要なソースが揃った。そして nanowww を make する。いまいちこれで合ってるかわかってないけど、

perl Makefile.PL
make

ソースがコンパイルされてテストが実行される。
いくつかテスト失敗したけど今は気にしないで置く。

サンプルで、以下のようなコードを用意して...


g++ -o hello hello.cc ../nanowww/extlib/picohttpparser/picohttpparser.o -I../nanowww/extlib

こんな感じでコンパイル

picojsonと合わせて使うと、RESTなクライアントがC++で結構簡単に書けてしまいそう。