使用http检测网络连接

使用libcurl实现的网络检测

// NetWorkConnect.h

#pragma once
#include 
#include 

class NetWorkConnect {
public:
    explicit NetWorkConnect(const std::string&);
    ~NetWorkConnect();

    bool connect();

private:
    static size_t ReqReply(void *, size_t, size_t, void*);
private:
    CURL* m_ptrCurl;
};

// NetWorkConnect.cpp

#include "netWorkConnect.h"

NetWorkConnect::NetWorkConnect(const std::string& strUrl) {
    // 初始化
    curl_global_init(CURL_GLOBAL_ALL);
    m_ptrCurl = curl_easy_init();
    std::string str;
    if (m_ptrCurl) {
        // 设置请求RUL地址
        curl_easy_setopt(m_ptrCurl, CURLOPT_URL, strUrl.c_str());
        // 设置超时时间1s
        curl_easy_setopt(m_ptrCurl, CURLOPT_TIMEOUT, 1);
        // 不要http header 加快效率
        curl_easy_setopt(m_ptrCurl, CURLOPT_HEADER, false);
        // 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值
       

你可能感兴趣的:(使用http检测网络连接)