使用cURL将网页以C ++格式保存到内存中

时间:2010-10-31 08:53:03

标签: c++ curl

我成功地使用结构将网页保存到内存中。但是有可能使用课程吗?我无法访问类中的写数据函数。

由于我是通过手机写的,因此我无法插入代码段。

2 个答案:

答案 0 :(得分:3)

或使用Urdl

答案 1 :(得分:2)

您可以使用C ++对象来管理curl请求的状态并接收数据

class CurlRequest {
public:
    CurlRequest() {
        //...
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writefunc);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, this);
    }
    size_t write(void *ptr, size_t size, size_t nmemb) {
        //...
    }
private:
    CURL *curl;
    static size_t writefunc(void *ptr, size_t size, size_t nmemb, void *data) {
        CurlRequest* req = static_cast<CurlRequest*>(data);
        return req->write(ptr, size, nmemb);
    }
};