разработка модулей: как достать POST данные

Maxim Dounin mdounin at mdounin.ru
Tue Jul 21 15:38:37 MSD 2009


Hello!

On Tue, Jul 21, 2009 at 02:15:02PM +0400, Alexandre Kalendarev wrote:

> 
>  наведи на правильную мысль:
> 
>    разрабатываю REST модуль
>    бьюсь уже третий день, не могу вытащить данные из POST (PUT) запроса
>    в структуре (ngx_http_request_t *) r -  ruquest_body = NULL
>    хотя request_length = 574 
>    ( изменяется  с изменением длинны POST)

Для того чтобы тело клиентского запроса прочиталось - надо звать 
ngx_http_read_client_request_body().  Пример использования можно 
посмотреть в ngx_http_proxy_module.c (другие примеры - в fastcgi, dav, 
perl/nginx.xs).

>   
>    пытался достать через parent request ( r->main->ruquest_body )
>    прочие данные из r - просто дают данные об HTTP заголовках и строки запроса 
>    
>    пытался делать через фильтры - тоже не получается достать POST данные.
>    может не установлены какие-то флаги?

Фильтров на тело клиентского запроса в nginx'е в настоящий 
момент не существует.

Maxim Dounin

>    устанавливал request_body_in_single_buf=1
> 
>  спасибо
> 
> 





More information about the nginx-ru mailing list