API для доступа к полю реферера в модуле Apache - PullRequest
1 голос
/ 16 ноября 2011

Я не могу найти его в структуре request_rec *? Есть ли способ, которым я могу получить к нему доступ в модуле Apache?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 01 августа 2012

Реферер хранится в заголовке запроса, поэтому оттуда вы должны получить реферер:

const char* referer = apr_table_get(request->headers_in, "Referer");
0 голосов
/ 16 февраля 2012

вы можете получить доступ к request_rec * в функциях фильтра ввода / вывода модуля Apache 2.x:

для входных фильтров :

int do_nothing_input_filter(ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block,
apr_off_t readbytes)
{
    request_rec *r = f->r;
    (...)
}

для выходных фильтров:

apr_status_t my_output_filter_func(ap_filter_t* f, apr_bucket_brigade* bb)
{
    request_rec *r = f->r;
    (...)
}

структура определена в httpd.h ссылка на документацию по Apache 2.x doxygen

0 голосов
/ 14 декабря 2011

Вы должны

#apt-get install apache2-prefork-dev

затем

#apxs2 -gn Somename

mod_Somename.c находится в вашем Somename каталоге. В этом файле .c содержится структура request_rec *. если вы хотите попробовать полную ссылку на request_rec *, перейдите по ссылке

http://ci.apache.org/projects/httpd/trunk/doxygen/httpd_8h.html

...