Intereting Posts

вызывать множественный url последовательно с php curl

Как вызвать несколько URL-адресов в curl, используя php, и их необходимо выполнять последовательно один за другим.

Ниже мой php-код

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://192.168.1.220/cgi-bin/handle_login.tcl"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "user=admin&pw=admin&submit=Login"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); echo "$response"; curl_close ($ch); $ch1= curl_init(); curl_setopt($ch1, CURLOPT_URL,"http://192.168.1.220/cgi-bin/controller.tcl?sid=$response&type=inverter&inverter=318002N463"); curl_setopt($ch1, CURLOPT_HTTPGET, TRUE); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); $response1= curl_exec($ch1); curl_close ($ch1); $ch2= curl_init(); curl_setopt($ch2, CURLOPT_URL,"http://192.168.1.220/cgi-bin/overview.tcl?sid=$response&menuParentId=3"); curl_setopt($ch2, CURLOPT_HTTPGET, TRUE); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); $response2= curl_exec($ch2); curl_close($ch2); 

Выполняется только моя первая команда curl Остальные не выполняются

Solutions Collecting From Web of "вызывать множественный url последовательно с php curl"

Для последовательного запроса на завивки вы можете определить функцию и использовать ее так. Если вас не интересует последовательный запрос, вы можете использовать для этого multi curl .

 <?php ini_set('display_errors', 1); $response=curl_request("http://192.168.1.220/cgi-bin/handle_login.tcl","POST","user=admin&pw=admin&submit=Login"); curl_request("http://192.168.1.220/cgi-bin/controller.tcl?sid=$response&type=inverter&inverter=318002N463"); curl_request("http://192.168.1.220/cgi-bin/overview.tcl?sid=$response&menuParentId=3"); function curl_request($url,$method="GET",$postFields="") { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if($method=="POST") { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); } else { curl_setopt($ch, CURLOPT_HTTPGET, TRUE); } $response = curl_exec($ch); echo "$response"; return $response; }