所以我使用libcurl和C ++来检索页面中的数据,但由于某种原因,当我连接到我的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”时,此代码工作正常,但是当我点击指向我的网络服务器的链接时,我设置了该错误。我是这个图书馆的新手,但我认为我做得很对。如果有人有任何见解,请告诉我!我会继续修补这个问题,如果我找到解决方案,我会在这里分享。
谢谢!
修改
我最近解决了这个问题,并想与可能偶然发现这篇文章的人分享。
我使用的是https://URL
,而我应该使用http://URL
,所以如果您遇到此问题,请先尝试使用它!
答案 0 :(得分:3)
那是错误7,“无法连接到主机”described in the curl book,如下所示:
无法连接到主机。 curl设法获得了一个IP地址 机器,它试图建立到主机的TCP连接但失败了。 这可能是因为您指定了输入的错误端口号 错误的主机名,错误的协议或者因为有一个 防火墙或其他网络设备之间的阻塞 来自的交通。