代码拉取完成,页面将自动刷新
我们努力通过每天一个小示例的方式,向大家展示WF框架的使用方法。第一个示例我们以gitee首页为例,展示如何从互联网上抓取下来一个网页,并把网页内容打印在stdout:
#include <stdio.h>
#include "workflow/WFTaskFactory.h"
void callback(WFHttpTask *task)
{
const void *body;
size_t size;
if (task->get_resp()->get_parsed_body(&body, &size))
fwrite(body, 1, size, stdout);
printf("\nFinished. Press enter to end.\n");
}
int main(void)
{
WFHttpTask *task = WFTaskFactory::create_http_task("http://gitee.com/", 3, 2, callback);
task->start();
getchar();
return 0;
}
简单讲解一下,我们通过工厂类的create_http_task接口创建一个http任务,URL为gitee的首页,并允许最多3次重定向,2次重试。我们特意指定http的URL而不是https,是为了展示重定向功能。当然用户也可以直接用https的URL来创造任务。
任务启动之后,我们通过getchar让主进程先堵住,因为我们的任何任务都是非堵塞的,start操作并不会等待任务的结束。为了简单这个示例里我们并没有实现唤醒,用户需要看到结束提示时,输入回车结束程序。
用WF框架写代码是不是非常的简单直接符合自然思维?赶快下载代码试一试呀。