2014-12-12 4 views
1

Я использую libmicrohttpd (http://www.gnu.org/software/libmicrohttpd/) для реализации сервера, который принимает файл от клиента (HTML-страницу), и шифрует его и отправляет обратно клиенту. Я делаю запрос POST на сервер с файлом и параметр, должен ли сервер шифровать или расшифровывать уже зашифрованный файл.Обработка почтовых данных в libmicrohttpd

Я знаю, что пары «KEY: VALUE» используются для обработки данных POST через POST_PROCESSOR, но я не смог найти хорошую подтверждающую документацию о том, как использовать POST_PROCESSOR для извлечения данных POST с клиента ,

Я ищу пример того, как получить данные, отправляемые клиентом, и я подумал, что кто-то может помочь мне здесь.

Я выбрал libmicrohttpd, потому что шифрование требует более высокой производительности, так как требуется время, и реализация его в c будет хорошим вариантом. Любые предложения об альтернативных рамках, которые могут быть использованы для реализации вышеизложенного, также помогут (скорее всего, когда java api может действовать как клиент).

Заранее спасибо.

ответ

1

Сегодня я сделал комментарий в аналогичной question:

Я использую GNU libmicrohttpd тоже, и я нашел простой POST демо на своем repository.

Демонстрационная немного прост: он имеет форму, которая спрашивает о вашем имя, поэтому, когда вы вводите свое имя и нажмите на кнопку «Отправить», размещены данные обрабатываются в answer_to_connection() функцию :

Так что я послал небольшую часть от первоначального демо:

static int answer_to_connection (void *cls, struct MHD_Connection *connection, 
         const char *url, const char *method, 
         const char *version, const char *upload_data, 
         size_t *upload_data_size, void **con_cls) 
{ 
... 

    if (0 == strcmp (method, "POST")) 
    { 
     struct connection_info_struct *con_info = *con_cls; 

     if (*upload_data_size != 0) 
     { 
      MHD_post_process (con_info->postprocessor, upload_data, 
          *upload_data_size); 
      *upload_data_size = 0; 

      return MHD_YES; 
     } 
     else if (NULL != con_info->answerstring) 
     return send_page (connection, con_info->answerstring); 
    } 
... 

Я считаю, что это демо может помочь вам, потому что я сделал несколько тестов, и она работала отлично. =)

Смежные вопросы