ブラウザ経由で次のリクエストを送信しています
https://www.overpass-api.de/api/interpreter?data=[out:json];area[name=Nicaragua];(node[aeroway=aerodrome][aeroway=aerodrome](area);way[aeroway=aerodrome][aeroway=aerodrome](area);>;relation[aeroway=aerodrome][aeroway=aerodrome](area);>>;);out meta;
試してみると、有効なjsonが返されます。
ただし、コードで curlpp ドライバーを介して送信しようとすると、「不正な要求」ページが返されます。コードは次のとおりです。
#include <curlpp/cURLpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>
int main() {
std::string url = "https://www.overpass-api.de/api/interpreter?data=
[out:json];area[name=Nicaragua];(node[aeroway=aerodrome]
[aeroway=aerodrome](area);way[aeroway=aerodrome][aeroway=aerodrome]
(area);>;relation[aeroway=aerodrome][aeroway=aerodrome](area);>>;);out
meta;";
std::cout << url << std::endl;
curlpp::Cleanup cleaner;
curlpp::Easy request;
request.setOpt(new curlpp::options::Url(url));
std::cout << request << std::endl;
std::cout << curlpp::options::Url(url) << std::endl;
return 0;
}
それでも、他の URL を試してみるとうまくいくでしょう... curl は特定の文字列フォーマットのみを受け入れますか?