【问题标题】:How to use libcurl for HTTP post?如何使用 libcurl 进行 HTTP 发布?
【发布时间】:2012-05-18 10:15:04
【问题描述】:

我是使用 libcurl 的新手。我不清楚如何将它用于 HTTP POST 请求以及如何检查结果。我该如何使用它?

【问题讨论】:

  • 你检查了吗:curl.haxx.se/libcurl/c/postit2.html 亲切的问候,博
  • 是的,我检查了它,但它是用于上传文件的,我必须用它来提交表单我不清楚它是如何完成的。

标签: c libcurl


【解决方案1】:
#include <curl/curl.h>
main()
{
  CURL *curl;
  curl_global_init(CURL_GLOBAL_ALL);
  curl = curl_easy_init();
  curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
  curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/hello-world");
  curl_easy_setopt(curl, CURLOPT_POST, 1);
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "foo=bar&foz=baz");
  curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

【讨论】:

  • 如何提交multipart/formdata?
  • 非常感谢!!
  • 我怎样才能以这种方式上传文件?
  • 发表问题?
【解决方案2】:

有关-d 选项的文档,请参阅手册页。您可以多次使用它来将不同的键、值对传递给服务器。一旦成功,请使用--libcurl 标志查看如果您尝试使用 libcurl 在应用程序中手动执行此操作会是什么样子。

【讨论】:

  • 我只是想使用 libcurl 提交一个表单,说我必须提交在 yahoo.com 上创建帐户我应该怎么做?我不想上传文件,但要提交表单。
  • K 生成的代码正在使用 POSTFIELDS。但我想提交一个html表单。
  • 到底是什么问题?据我所知,postfields 是您要发布的值。
  • K 它也可以使用。但是如何使用函数 curl_formadd() 呢?我读到这个函数基本上是用来向服务器提交表单数据的。给出了上传文件的示例。我想用它来填写表格并提交。
  • 如果您遇到真正的问题,为什么不尝试一下并回复?我自己没有使用过libcurl,这是基于我浏览文档的建议。
【解决方案3】:

这是为了分享我使用 libcurl 开发 REST 客户端的经验,我找到了一种非常简单的方法来找出 ANY RESTcode sn-ps >在多种语言中使用POSTMAN调用。它真的对我有用!!! 安装 POSTMAN 并检查右侧是否有一个名为 'Code' 的按钮(我仅在 Windows 上使用过,但应该适用于其他操作系统,并且 libcurl 可以跨许多操作系统移植)

如果有人想阅读文档和示例,可以在这里找到。 https://curl.haxx.se/docs/faq.html#What_is_cURL

您可以使用 libcurl 在左侧窗格中找到支持的语言的正确代码 sn-ps。 C、C#、PHP、Python、Java、Java 脚本等...

最好的办法是您可以测试来自 POSTMAN 的调用,同时也可以从命令提示符中找到正确的代码 sn-p 和 curl 命令(如果您从左侧窗格中选择 cURL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-26
    • 2015-01-21
    • 2012-01-05
    • 2012-07-20
    • 2012-10-21
    • 1970-01-01
    • 2018-10-18
    相关资源
    最近更新 更多