Запрос действителен через браузер, возвращает неверную страницу запроса через драйвер curlpp - PullRequest
1 голос
/ 08 апреля 2019

Я отправляю следующий запрос через мой браузер

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 только определенное форматирование строки?

...