通过libcurl和初始化获得响应

时间:2014-03-12 18:15:01

标签: c++ curl libcurl

我关注this example关于发布到http服务器的问题。我有以下两个问题:

  1. 我不确定是谁在屏幕上打印服务器响应。它必须是curl_easy_perform,但我不确定如何禁用它。我只想知道我是否有200 OK或其他一些回复。
  2. 如果有两个线程同时使用curl,它们是否都需要使用curl_easy_init进行初始化,还是需要进行一次?

1 个答案:

答案 0 :(得分:0)

您的答案都会在curl FAQ

中得到解答
  

5.10 How do I prevent libcurl from writing the response to stdout

     

libcurl提供了一个写入的默认内置写入函数   收到stdout的数据。设置CURLOPT_WRITEFUNCTION以接收   数据,或者可能将CURLOPT_WRITEDATA设置为不同的FILE *句柄。

第二个答案的部分内容可以在这个问题中找到:

  

5.1 Is libcurl thread-safe?

     

     

我们编写了专门针对的libcurl代码   多线程程序。 libcurl将使用线程安全函数   如果你的系统有这样的话,而不是非安全的。 请注意,您必须   永远不要在多个线程中共享相同的句柄。

所以基本上如果你在单独的线程中使用单独的curl句柄就可以了,但是如果你使用基于SSL的协议,你应该遵循线程安全链接,看看你需要设置哪些SSL互斥回调!