我正在尝试使用 C 解析 URL microhttpd library
。
daemon = MHD_start_daemon (MHD_USE_SELECT_INTERNALLY | MHD_USE_SSL, PORT, NULL, NULL, &answer_to_connection, NULL, MHD_OPTION_HTTPS_MEM_KEY, key_pem, MHD_OPTION_HTTPS_MEM_CERT, cert_pem, MHD_OPTION_END);
当我运行该函数时,会MHD_start_daemon
调用一个回调函数 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)
{
printf("URL:%s\n", url);
}
的参数之一answer_to_connection
是const char *url
。url 变量包含示例后面的字符串https://localhost:port
:对于http://128.19.24.123:8888/cars/ferrari
url 值将是/cars/ferrari
但如果http://128.19.24.123:8888/cars?value=ferrari
url 仅打印cars
。
我想打印cars?value=ferrari
。我怎样才能做到这一点?
在https://www.gnu.org/software/libmicrohttpd/tutorial.html有一个关于 microhttpd 库的教程
但我在那里找不到任何解决这个问题的方法。