通过浏览器请求有效,通过curlpp驱动程序返回错误的请求页面

时间:2019-04-07 21:12:41

标签: c++ http curlpp

我正在通过浏览器发送以下请求

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;
}

但是,如果您尝试其他任何网址,都可以使用... curl是否只接受某种字符串格式?

0 个答案:

没有答案