POST данные из curl++ не отправляет

Я пытался опубликовать данные из 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 ответа

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

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

Другие вопросы по тегам