libevent支持HTTP重定向
我正在尝试使用libevent来模拟多个HTTP客户端。下面的代码片段可以工作,但不幸的是,它似乎不支持HTTPRedect(301302)。不知道libevent HTTP包是否支持它,如果支持,如何启用它 提前谢谢libevent支持HTTP重定向,http,libevent,Http,Libevent,我正在尝试使用libevent来模拟多个HTTP客户端。下面的代码片段可以工作,但不幸的是,它似乎不支持HTTPRedect(301302)。不知道libevent HTTP包是否支持它,如果支持,如何启用它 提前谢谢 void http_request_done(struct evhttp_request *req, void *arg){ printf("http_request_done\n"); } int http_req(char *uri, int i) { st
void http_request_done(struct evhttp_request *req, void *arg){
printf("http_request_done\n");
}
int http_req(char *uri, int i) {
struct evhttp_connection *conn = evhttp_connection_base_new(base, NULL, host, port);
struct evhttp_request *req = evhttp_request_new(http_request_done, base);
req->cb_arg = (void*) i;
evhttp_add_header(req->output_headers, "Host", "localhost");
evhttp_add_header(req->output_headers, "Connection", "KeepAlive");
evhttp_make_request(conn, req, EVHTTP_REQ_GET, uri);
}
最后在http_request_done()函数中手动执行此操作:
void http_request_done(struct evhttp_request *req, void *arg){
const char *url = evhttp_find_header(evhttp_request_get_input_headers(req), "Location");
if (url) {
quickHttpRequest(id, (char*) url);
return;
}
...
}