58 lines
1.3 KiB
Tcl
Raw Normal View History

2014-02-05 16:43:59 -08:00
package require TclCurl
proc Perform {multiHandle} {
if {[catch {$multiHandle active} activeTransfers]} {
puts "Error checking active transfers: $activeTransfers"
return -1
}
if {[catch {$multiHandle perform} running]} {
puts "Error: $running"
return 1
}
return $running
}
proc StartTransfer {multiHandle} {
while {1==1} {
set runningTransfers [Perform $multiHandle]
if {$runningTransfers>0} {
after 500
} else {
break
}
}
}
puts "We create and configure the easy handles"
set curlEasyHandle1 [curl::init]
set curlEasyHandle2 [curl::init]
$curlEasyHandle1 configure -url http://127.0.0.1/~andres/ -file index.html
$curlEasyHandle2 configure -url http://127.0.0.1/ -file index2.html
puts "Creating the multi handle"
set curlMultiHandle [curl::multiinit]
puts "Adding easy handles to the multi one"
$curlMultiHandle addhandle $curlEasyHandle1
$curlMultiHandle addhandle $curlEasyHandle2
puts "We start the transfer"
StartTransfer $curlMultiHandle
puts "Transfer done, cleanning up"
$curlMultiHandle removehandle $curlEasyHandle1
$curlMultiHandle removehandle $curlEasyHandle2
$curlMultiHandle cleanup
$curlEasyHandle1 cleanup
$curlEasyHandle2 cleanup