0

我目前正在开发一个 Visual Studio C++ 项目,该项目需要使用 libcurl 来访问我使用 Django 的网站的一些 api。

我正在使用 django-tastypie 来提供 api,现在我可以通过使用这个 curl 命令来使用这个 api:

curl --dump-header - -H "Content-Type: application/json" -X PATCH --data '{"body": "This actually is my last post."}' http://localhost:8000/api/v1/entry/4/

更新我的服务器上的数据。作为测试,它可以工作,但我真正需要的是用 C/C++ 编写具有相同功能的 libcurl 代码。

我刚刚开始研究 libcurl 并且不太确定如何做到这一点。我认为我应该使用curl_easy_setopt但我找不到正确的选项来设置。

所以我的问题是

  1. 是否可以使用 libcurl 来实现与该命令相同的目标?我对 libcurl 不熟悉。
  2. 如果是这样,如何设置选项-x PATCHcontent-Type?我查看了文档,似乎没有找到方法。

谢谢你的帮助。

4

1 回答 1

0

正如@deltheil 建议的那样,我尝试了--libcurl.

但请注意,在我的情况下,生成的代码并不完全正确。该-H "Content-Type: application/json"部分不在代码中。

你需要像这样设置标题

headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

但是这个选项--libcurl很有帮助。

这篇关于 C 中 json 请求的帖子对我帮助很大。

于 2013-05-24T10:02:54.423 回答