如何为 libcurl 中的 url 设置 var
How can I set a var for the url in libcurl
我按照教程获取网页。它有效,但他们手动设置 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;
}
"$website"
只是一个字符串,一段文字。该变量应引用为 website
,并且由于该函数需要指向字符数组的指针,因此您可以使用 class 的 c_str()
或 data()
方法。
curl_easy_setopt(curl, CURLOPT_URL, website.data());
我按照教程获取网页。它有效,但他们手动设置 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;
}
"$website"
只是一个字符串,一段文字。该变量应引用为 website
,并且由于该函数需要指向字符数组的指针,因此您可以使用 class 的 c_str()
或 data()
方法。
curl_easy_setopt(curl, CURLOPT_URL, website.data());