在多请求句柄中,来自单个curl请求的ocurl提取输出

时间:2016-12-13 19:40:46

标签: curl ocaml

我试图在脚本中同时启动许多HTTP请求。我正在使用ocurl库(它是libcurl的一个薄包装器)并尝试从curl多句柄中读取信息。

以下使用简单curl句柄的示例效果很好,并将响应转储到stdout

'My Sub''''''''''''''''''''''''''
Private Sub mySub()
   structCalculateDateValues 'calculates a number of dates that I want to be unlocked on my form
   fnCreateTable  'create a table will all dates form my database
End Sub

'Event handler for continous form'''''''''''''''
Private Sub Form_Current()
   'Some code to get the value of my Struct - structCalculateDateValues
   'Lock records that do not fall within of the date parameters of the values in structCalculateDateValues 
End Sub

我尝试使用一个简单的多重执行句柄来做同样的事情,该句柄只包含一个请求以更好地理解API。我尝试使用module C = Curl ;; let get_handle () = let () = C.global_init C.CURLINIT_GLOBALALL in let handle = new C.handle in let () = begin handle#set_url "google.com"; handle#set_followlocation true; end in handle ;; let main () = let obj = get_handle () in obj#perform ;; main () ;; 方法(这是CURLOPT_WRITEFUNCTION的一个瘦包装器)将单个请求的输出写入包含字符串引用的模块范围变量。我使用的闭包将字符串赋值给set_writefunction,然后返回写入的字节数。我希望看到我在消息中获取的整个文档,它的尾随片段(如果curl内部使用内容块多次调用我的回调),或者是一个空字符串(如果curl使用空字符串来标记结尾)内容和我的回调应该处理该情况)。相反,它打印message,表明从未调用过回调。为什么我的回调没有被调用?

generic initial value

0 个答案:

没有答案