POST данные из curl ++ не отправляет - PullRequest
3 голосов
/ 26 июля 2011

Я пытался отправить данные из curlpp в веб-скрипт, но, похоже, он не работает. В конце PHP я просто запускаю var_dump ($ _ POST); распечатать все полученное обратно. Глобальное $ _POST выглядит пустым при выполнении.

Мой код на C ++ выглядит следующим образом:

    std::stringstream out; 
    std::stringstream ss; 
    ss << "127.0.0.1/online.php"; 
    try 
    { 
            curlpp::Cleanup clean; 
            curlpp::Easy request; 
            curlpp::options::WriteStream ws(&out); 
            request.setOpt(ws); 
            request.setOpt<curlpp::options::Url>(ss.str()); 
            request.setOpt(new curlpp::options::Verbose(true)); 
            std::list<std::string> header; 
            header.push_back("Content-Type: application/octet-stream"); 
            request.setOpt(new curlpp::options::HttpHeader(header)); 
            std::string test = "abcd=abcd"; 
            request.setOpt(new curlpp::options::PostFields(test)); 
            request.setOpt(new curlpp::options::PostFieldSize(test.length())); 
            request.perform(); 
    } 
    catch(curlpp::RuntimeError& e) 
    { 
            ss.str(""); 
            ss << "Error making request of type " << op << ": " << e.what(); 
            PrintError(ss.str()); 
            return ""; 
    } 
    std::cout << out.str() << std::endl; 

Я делаю что-то совершенно очевидно не так?

Ответы [ 2 ]

2 голосов
/ 26 июля 2011

Для загрузки клиент-сервер стандарт указывает, что тип контента будет application/x-www-form-urlencoded или multipart/form-data.Поскольку ваш веб-сервер и / или PHP соответствуют стандарту, вам следует изменить тип контента, в данном случае, на application/x-www-form-urlencoded.

0 голосов
/ 26 июля 2011

Ваш content-type неправильный, используйте application/x-www-form-urlencoded. Смотри здесь .

...