2017-11-10 82 views
1

C++でlibcurlを使用してページ内のデータを取得していますが、vpsに接続すると何らかの理由でポストタイトルにエラーがスローされます。 vpsのコードはリクエストを出して、データベースからデータを吐き出すだけです。 URLは「https://google.com」のようなものであるときcurl_easy_perform()failed:サーバーに接続できませんでした

#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; 
} 

このコードは正常に動作しているが、私は私のウェブサーバへのリンクを打ったとき、私はそのエラーを取得し設定します。私はこの図書館のほうが新しいですが、正しくやっていると思いました。誰かが洞察力を持っているなら私に知らせてください!私はこれを変え続けるつもりで、私が解決策を見つけたらここでそれを共有します。

ありがとうございます!

EDIT:

私は最近、この問題を解決し、この記事つまずくかもしれない誰とそれを共有したいと思いました。 代わりにhttp://URLを使用していたはずだったのにhttps://URLを使用していたので、この問題に遭遇した場合は、最初に代わりに使ってみてください!エラー7だ

答えて

2

、このようなdescribed in the curl bookを「ホストに接続できませんでした」:

は、ホストに接続できませんでした。 curlが マシンへのIPアドレスを取得できなかったため、ホストへのTCP接続をセットアップしようとしましたが失敗しました。 これは、間違ったポート番号を指定したか、 間違ったホスト名、間違ったプロトコルを入力したか、または ファイアウォールやその間に別のネットワーク機器があり、トラフィックが通過しないようにブロックしている可能性があります。

関連する問題