libevent http client 客户端
来源:互联网 发布:网络推广员面试题 编辑:程序博客网 时间:2024/05/17 01:49
- /* Don’t actually copy this code: it is a poor way to implement an
- HTTP client. Have a look at evhttp instead.*/
- #include <event2/dns.h>
- #include <event2/bufferevent.h>
- #include <event2/buffer.h>
- #include <event2/util.h>
- #include <event2/event.h>
- #include <stdio.h>
- void readcb(struct bufferevent* bev, void * ptr)
- {
- char buf[1024];
- int n;
- struct evbuffer* input = bufferevent_get_input(bev);
- while ((n = evbuffer_remove(input, buf, sizeof(buf))) > 0)
- {
- fwrite(buf, 1, n, stdout);
- }
- }
- void eventcb(struct bufferevent* bev, short events, void * ptr)
- {
- if (events & BEV_EVENT_CONNECTED)
- {
- printf("Connect okay.\n");
- }
- else if (events & (BEV_EVENT_ERROR|BEV_EVENT_EOF))
- {
- struct event_base* base = ptr;
- if (events & BEV_EVENT_ERROR)
- {
- int err = bufferevent_socket_get_dns_error(bev);
- if (err)
- printf("DNS error: %s\n", evutil_gai_strerror(err));
- }
- printf("Closing\n");
- bufferevent_free(bev);
- event_base_loopexit(base, NULL);
- }
- }
- int main(int argc, char** argv)
- {
- struct event_base* base;
- struct evdns_base* dns_base;
- struct bufferevent* bev;if (argc != 3)
- {
- printf("Trivial HTTP 0.x client\n"
- "Syntax: %s [hostname] [resource]\n"
- "Example: %s www.google.com /\n",argv[0],argv[0]);
- return 1;
- }
- base = event_base_new();
- dns_base = evdns_base_new(base, 1);
- bev = bufferevent_socket_new(base, -1, BEV_OPT_CLOSE_ON_FREE);
- bufferevent_setcb(bev, readcb, NULL, eventcb, base);
- bufferevent_enable(bev, EV_READ|EV_WRITE);
- evbuffer_add_printf(bufferevent_get_output(bev), "GET %s\r\n", argv[2]);
- bufferevent_socket_connect_hostname(bev, dns_base, AF_UNSPEC, argv[1], 80);
- event_base_dispatch(base);
- return 0;
- }
0 0
- libevent http client 客户端
- libevent client客户端编写
- libevent http client
- libevent实现http client
- libevent http client post get
- 用最简单的方式实现基于libevent框架的http client客户端
- Http Client 客户端编码
- HTTP客户端(libcurl) & HTTP服务端(libevent)
- HTTP客户端(libcurl) & HTTP服务端(libevent)
- linux c++使用libevent编写http server + http client
- libevent evhttp学习——http客户端
- libevent evhttp学习——http客户端
- 利用 libevent 实现简单 http client GET、POST
- 利用 libevent 实现简单 http client GET、POST
- 利用 libevent 实现简单 http client GET、POST
- libevent基础:用libevent写服务端server程序和客户端client程序
- 使用libevent实现的HTTP客户端和服务端
- 基于libevent的http客户端,并可以请求https
- 读书笔记 effective c++ Item 15 在资源管理类中提供对原生(raw)资源的访问
- Java 实例
- Git常用命令收集
- 算法训练 字串统计
- 1028. List Sorting (25)
- libevent http client 客户端
- Java中字符串的比较
- oj刷题--2873高于均分的学生
- linux 内存
- 练习
- 机房重构七层登录
- C++学习总结-1
- 人工智能(AI)第一节课总结
- JavaScript实现Fly Bird小游戏