繁体   English   中英

通过curl通过HTTP发送和接收字符串

[英]Sending and receiving strings over http via curl

我遇到了服务器(Windows计算机)上的程序输出一些字符串的情况。 我需要使用curl通过HTTP将那些字符串从服务器发送到客户端。 发送后,我将在客户端以字符串形式接收数据,对其进行解码并执行后续操作。 我已经使用berkely API使用C Sockets实现了此功能,因为我对此很熟悉。 但是由于某种原因,我不允许使用自己的程序。 我四处张望,似乎CURL可以成为我的解决方案。 但是,我对卷曲非常陌生,似乎无法弄清楚如何实现此功能。 在客户端,我发现这可能有用:

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

    /* Perform the request, res will get the return code */ 
    res = curl_easy_perform(curl);
    /* Check for errors */ 
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}

我了解您必须使用回写功能来接收数据? 同样在客户端,我需要使用curl开发一个程序,只要服务器通过字符串发送,它就应该接收它并对其进行解码。 任何与特定问题有关的教程的指针都将受到高度赞赏。 或者,如果有人已经尝试过了,我将非常感谢您的帮助。 谢谢。

在他们的网站上查看此示例代码。 它详细说明了如何将响应数据写入内存区域而不是文件中:

http://curl.haxx.se/libcurl/c/getinmemory.html

还可以看一下curl网站上的通用教程:

http://curl.haxx.se/libcurl/c/libcurl-tutorial.html

最后要考虑的一件事是,如果使用C ++,则需要确保您的回调不是非静态成员函数(请参见此处libcurl-无法下载文件

这至少应该使您入门。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM