我有这个代码,我希望用多个这样的10个卷曲连接,但我不知道如何使用这个特定的代码:
代码的作用是什么?
对.asp页面进行卷曲处理
使用结果以表格形式发送一些数据($ ciudad),然后页面获得此提交并发出内部请求并显示结果。
输出最终结果。
function curl($header,$encoded,$cookie){
$options = array(
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_TIMEOUT => 120,
//CURLOPT_REFERER => '',
//CURLOPT_HTTPHEADER => $header,
CURLOPT_COOKIE => $cookie,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $encoded,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
);
$ch = curl_init("http://procesos.ramajudicial.gov.co/consultaprocesos/consultap.aspx");
curl_setopt_array( $ch, $options );
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$cookie = "";
foreach($_COOKIE as $k => $v)
$cookie .= $k."=".$v.";";
$cookie = substr($cookie,0,strlen($cookie)-1);
$encoded = '';
foreach($_POST as $name => $value) {
$encoded .= urlencode($name).'='.urlencode($value).'&';
}
$lk = "http://procesos.ramajudicial.gov.co/consultaprocesos/";
$header[] = 'User-Agent: '.$_SERVER['HTTP_USER_AGENT'];
$header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text /html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Accept-Encoding: gzip,deflate';
$header[] = 'Connection: keep-alive';
$header[] = 'Cookie : '.$cookie;
$header[] = 'Content-Type: application/x-www-form-urlencoded';
$output = curl($header,$encoded,$cookie);
$CIUDAD = urlencode("Medellin"); // to change
$CORPORACION = urlencode("JUZGADOS CIVILES MUNICIPALES DE MEDELLIN"); // to change
$DIGITOS = $numsus;
// BEGIN STEP 1
$__VIEWSTATE = 'id="__VIEWSTATE" value="';
$i = stripos($output,$__VIEWSTATE) + strlen($__VIEWSTATE);
$j = stripos($output,'"',$i);
$__VIEWSTATE = substr($output,$i,$j-$i);
$__EVENTVALIDATION = 'id="__EVENTVALIDATION" value="';
$i = stripos($output,$__EVENTVALIDATION) + strlen($__EVENTVALIDATION);
$j = stripos($output,'"',$i);
$__EVENTVALIDATION = substr($output,$i,$j-$i);
$encoded = '__EVENTTARGET=DropDownList1&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE='.urlencode($__VIEWSTATE).'&__EVENTVALIDATION='.urlencode($__EVENTVALIDATION).'&DropDownList1='.$CIUDAD.'&TextBox13=';
$output = curl($header,$encoded,$cookie);
答案 0 :(得分:2)
如果您可以使用最适合您的10个线程,最好是file_get_contents,这将是一件好事。
https://github.com/krakjoe/pthreads
你可以拥有主题:)
享受......
答案 1 :(得分:0)
一开始有时很难掌握多卷曲,我可以热烈建议您查看Pete Wardens PHP https://github.com/petewarden/ParallelCurl的实施情况。这取消了抽象。
您基本上需要实现一个回调函数,以便在下载完成时触发。例如,写入临时目录,当它完成后,您的主程序可以检查内容并从那里处理它。