1 package require TclCurl
4 proc Perform {multiHandle} {
5 if {[catch {$multiHandle active} activeTransfers]} {
6 puts "Error checking active transfers: $activeTransfers"
9 if {[catch {$multiHandle perform} running]} {
10 puts "Error: $running"
16 proc StartTransfer {multiHandle} {
18 set runningTransfers [Perform $multiHandle]
19 if {$runningTransfers>0} {
27 puts "We create and configure the easy handles"
29 set curlEasyHandle1 [curl::init]
30 set curlEasyHandle2 [curl::init]
32 $curlEasyHandle1 configure -url http://127.0.0.1/~andres/ -file index.html
33 $curlEasyHandle2 configure -url http://127.0.0.1/ -file index2.html
35 puts "Creating the multi handle"
37 set curlMultiHandle [curl::multiinit]
39 puts "Adding easy handles to the multi one"
41 $curlMultiHandle addhandle $curlEasyHandle1
42 $curlMultiHandle addhandle $curlEasyHandle2
44 puts "We start the transfer"
46 StartTransfer $curlMultiHandle
48 puts "Transfer done, cleanning up"
50 $curlMultiHandle removehandle $curlEasyHandle1
51 $curlMultiHandle removehandle $curlEasyHandle2
53 $curlMultiHandle cleanup
54 $curlEasyHandle1 cleanup
55 $curlEasyHandle2 cleanup