Я отправляю следующий запрос через мой браузер
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 только определенное форматирование строки?