簡體   English   中英

curl_easy_perform()失敗:無法連接到服務器

[英]curl_easy_perform() failed: Couldn't connect to server

所以我在C ++中使用libcurl檢索頁面中的數據,但是由於某些原因,當我連接到vps時,它將在帖子標題中引發錯誤。 vps中的代碼只是發出一個get請求,並從數據庫中吐出一些數據。

#include "requestMapper.hpp"

// Send a GET request to API to retreive image
void RequestMapper::retreiveData(std::string url) {
    CURL *curl;
    CURLcode res;

    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init();
    if(curl) {
        ISSUE HERE // curl_easy_setopt(curl, CURLOPT_URL, "https://104.236.200.91/index.php/food/");
        res = curl_easy_perform(curl);
#ifdef SKIP_PEER_VERIFICATION
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
#endif
#ifdef SKIP_HOSTNAME_VERIFICATION
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
#endif
        res = curl_easy_perform(curl);
        if (res != CURLE_OK)
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
        curl_easy_cleanup(curl);
    }
    curl_global_cleanup();
}

// Submit a post request to API link to send data
void RequestMapper::postData() {

}


int main(void) {
    RequestMapper rm;
    rm.retreiveData("sample");
    return 0;
}

當網址類似“ https://google.com ”時,此代碼可以正常工作,但是當我單擊指向我的Web服務器的鏈接時,我設置了該錯誤。 我是這個庫的新手,但我認為自己做的正確。 如果有人有任何見解,請告訴我! 我將繼續對此進行修改,如果找到解決方案,請在此處分享。

謝謝!

編輯:

我最近解決了這個問題,並希望與可能偶然發現此帖子的任何人分享。 我當時使用的是https://URL ,而我應該一直使用的是http://URL所以如果您遇到此問題,請先嘗試使用它。

卷曲書中描述的錯誤7是“無法連接到主機” 如下所示:

無法連接到主機。 curl設法獲得了計算機的IP地址,並嘗試建立與主機的TCP連接,但失敗了。 這可能是因為您指定了錯誤的端口號,輸入了錯誤的主機名,錯誤的協議,或者可能是因為之間存在防火牆或其他網絡設備阻止了流量的通過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM