我有一个Python测试脚本,该脚本使用requests.post()
执行API流传输。看起来像这样:
response = requests.post(url_events,data="XYZ",stream=True,headers = {"A":"B"})
if (response.ok):
for chunk in response.iter_content(chunk_size=256):
print chunk
我试图弄清楚如何使用C ++具有相同的逻辑。从我发现的curl
库可能会有所帮助,但是我找不到如何传递data
字段。这是我到目前为止的代码:
CURL* connection = curl_easy_init();
// set url
curl_easy_setopt(connection,CURLOPT_URL,url_events);
// set header
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers,"A:B");
code = curl_easy_setopt(connection,CURLOPT_HTTPHEADER,headers);
// set streaming callback that will print every received message
curl_easy_setopt(connection,CURLOPT_WRITEFUNCTION,printCallback);
// start connection
code = curl_easy_perform(connection);
// ...
curl_easy_cleanup(connection);
curl_slist_free_all(headers);
我正在浏览curl.h
文件,试图找到如何指定数据字段,但似乎没有合适的方法(基于名称)?
我走对了吗?使用curl
是执行任务的正确方法,还是应该研究其他C,C ++库?赞赏执行与以上request.post()
相同任务的示例,或建议如何使用curl
实现相同的目标。