我按照教程获取网页。它有效,但他们手动设置了 URL。我尝试将其更改为使用 var 中的 URL,但这不起作用。我在终端“无法解析主机名”中收到错误,我尝试了 main(char*),它给出了同样的错误。我似乎无法在网上找到任何东西。我怎样才能使它可以将用户定义的 var 用作 URL?
下面的代码。
#include <iostream>
#include <curl/curl.h>
#include <string>
using namespace std;
int main() {
string website;
getline(cin, website);
CURL* curl = curl_easy_init();
if (!curl) {
fprintf(stderr, "init failed\n");
return EXIT_FAILURE;
}
// set up
curl_easy_setopt(curl, CURLOPT_URL, "$website");
// perform
CURLcode result = curl_easy_perform(curl);
if (result != CURLE_OK) {
fprintf(stderr, "download prob: %s\n", curl_easy_strerror(result));
}
curl_easy_cleanup(curl);
return EXIT_SUCCESS;
}
回答1
"$website"
只是一个字符串,一段文本。该变量应该被引用为 website
,并且由于该函数需要一个指向字符数组的指针,因此您使用类的 c_str()
或 data()
方法。
curl_easy_setopt(curl, CURLOPT_URL, website.data());