版权声明:本文为博主原创文章,自己总结难免有出错或是不周全的地方,望指出...... https://blog.csdn.net/qq849635649/article/details/51689699
#include <event2/event_struct.h>
#include <event2/event.h>
#include <event2/bufferevent.h>
#include <event2/http.h>
#include <evhttp.h>
void http_request_done(struct evhttp_request *req, void *arg)
{
printf("send request ok...\n");
size_t len = evbuffer_get_length(req->input_buffer);
unsigned char * str = evbuffer_pullup(req->input_buffer, len);
char buf[256] = { 0 };
memcpy(buf, str, len);
if(str == NULL)
{
printf("len = %d, str == NULL\n", len);
}
else
{
printf("len = %d, str = %s\n", len, buf);
}
event_base_loopbreak((struct event_base*)arg);
}
int main()
{
struct event_base* base;
struct evhttp_connection* conn;
struct evhttp_request* req;
base = event_base_new();
//conn = evhttp_connection_new(base, NULL, "192.168.1.109", 8081);
conn = evhttp_connection_new("192.168.1.109", 8081);
evhttp_connection_set_base(conn, base);
req = evhttp_request_new(http_request_done, base);
evhttp_add_header(req->output_headers, "Host", "localhost");
evhttp_make_request(conn, req, EVHTTP_REQ_GET, "/test");
evhttp_connection_set_timeout(req->evcon, 600);
event_base_dispatch(base);
evhttp_connection_free(conn);
event_base_free(base);
printf("run over...\n");
return 0;
}
服务端程序参考我之前的服务端代码 服务端代码