C ++ curl post在curl_easy_perform处超时

问题描述 投票:0回答:1

对于c ++还是很新的,因此,对于我可能犯的任何严重错误,我们深表歉意。

我具有发布功能,可用于将数据发送到网站,然后将其他数据返回给我。问题是它在curl_easy_perform超时这是我的消息来源。不久前它开始工作,但是由于某种奇怪的原因而停止了。我可以向您保证,它不是我尝试过的其他网站。

size_t WriteCallback(char *contents, size_t size, size_t nmemb, void *userp)
{
    ((std::string*)userp)->append((char*)contents, size * nmemb);
    return size * nmemb;
}

string post(string source) {
    CURL *curl;
    CURLcode res;
    string readBuffer;
    curl_global_init(CURL_GLOBAL_ALL);
    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "mywebsite");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, source.length());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, source.c_str());
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);

        res = curl_easy_perform(curl);
        cout << res << endl;
        curl_easy_cleanup(curl);
        return readBuffer;

    }
    curl_global_cleanup();
    return 0;
}

c++ curl libcurl
1个回答
0
投票

已解决。原来我初始化控制台和主要功能的方式有误,我不太了解。还是谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.