2017-05-26 88 views
1

call multiple url sequentially with php curl附加價值的URL使用curl

這個問題也涉及到我以前的帖子所以香港專業教育學院共同上面的鏈接...

現在,當我試圖在附加我的網址的SessionID執行下面的代碼..它didnt運行properly..so呼應的URL,並得到如下的輸出..

3.0971635097876E+183.0971635097876E+1 

因此,如何追加與URL中的SID ...

下面是如何我試過..

<?php 

    $response=3097163509787559940; 
    $url1 = 'http://192.168.1.220/cgi-bin/controller.tcl?sid='+$response+'&type=inverter&inverter=318002N463'; 
    echo "$url1"; 
    $url2 = 'http://192.168.1.220/cgi-bin/overview.tcl?sid='+$response+'&menuParentId=3'; 
    echo "$url2"; 
    $nodes = array('$url1', '$url2'); 
    $node_count = count($nodes);  

    $curl_arr = array(); 
    $master = curl_multi_init(); 

    for($i = 0; $i < $node_count; $i++){ 
     $url =$nodes[$i]; 
     $curl_arr[$i] = curl_init($url); 
     curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true); 
     curl_multi_add_handle($master, $curl_arr[$i]); 
    } 

    do { 
     curl_multi_exec($master,$running); 
    } while($running > 0); 

    echo "results: "; 
    for($i = 0; $i < $node_count; $i++){ 
     $results = curl_multi_getcontent ($curl_arr[$i] ); 
     echo($i . "\n" . $results . "\n"); 
    } 
    echo 'done'; 

?> 

回答

1

你需要做3個變化如下圖所示: -

$url1 = "http://192.168.1.220/cgi-bin/controller.tcl?sid=$response&type=inverter&inverter=318002N463"; 

$url2 = "http://192.168.1.220/cgi-bin/overview.tcl?sid=$response&menuParentId=3"; 

$nodes = array($url1, $url2);//remove quotes around urls 
+0

感謝ü隊友...只需添加另一條線路UR答案需要將引號之間的值... – Pradeep

+0

@Pradeep高興來幫你 :) –

2

字符串被PHP串聯起來點(。)

兩個$url1url2

$url1 = 'http://192.168.1.220/cgi-bin/controller.tcl?sid='.$response.'&type=inverter&inverter=318002N463'; 

更換連接字符+.在創建陣列刪除報價。當用單引號括起來時,它將把它呈現爲字符串而不是變量。

$nodes = array($url1, $url2);