1

我在 request_rec* 结构中找不到它?有没有办法可以在 Apache 模块中访问它?

谢谢!

4

3 回答 3

3

引用者存储在请求标头中,因此您应该从那里获取引用者:

const char* referer = apr_table_get(request->headers_in, "Referer");
于 2012-08-01T01:11:08.113 回答
0

您可以在 Apache 2.x 模块的输入/输出过滤器函数中访问 request_rec*:

对于输入过滤器

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;
    (...)
}

该结构在Apache 2.x doxygen 文档的 httpd.h 参考中定义

于 2012-02-16T15:13:58.053 回答
0

你应该

#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

于 2011-12-14T07:37:19.977 回答