我用c ++(cli)编写了一个小程序,允许在网站上发起请求。
#include <iostream>
#include <string>
#include <curl/curl.h>
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp)
{
((std::string*)userp)->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main(void)
{
CURL *curl;
CURLcode res;
std::string readBuffer;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://localhost/?id=1&hash=123456");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
std::cout << readBuffer << std::endl;
}
return 0;
}
此代码非常有效,可以完成我要求的任务
我需要创建一个交互式版本来修改url的变量。 程序输出示例:
./my_prog
What content do you want to add in the variable id?
1
What content do you want to add in the hash variable?
123456879
在这些问题之后,它将使用问题的结果启动CURL查询 你能解释一下我可以和c ++进行交互吗?
答案 0 :(得分:1)
要写入控制台,请使用std::cout << "something"
获取输入,使用std::cin >> x;
std::string id, hash;
std::cout << "What content do you want to add in the variable id?\n";
std::cin >> id;
std::cout << "What content do you want to add in the hash variable?\n";
std::cin >> hash;
将新数据插入url,替换这一行:
curl_easy_setopt(curl, CURLOPT_URL, "http://localhost/?id=" + id + "&hash=" + hash);
std::cin
将读取输入,直到第一个空白或结束字符,如果由于某些原因你需要输入几个单词,你可以使用getline (std::cin, hash);
它将读取全行