使用curl将值附加到URL

时间:2017-05-26 06:34:28

标签: php curl

call multiple url sequentially with php curl

这个问题也与我以前的帖子有关,所以我分享了上面的链接......

现在,当我尝试在我的网址中追加sessionid执行下面的代码..它没有正确运行..所以回显了网址并获得了以下输出..

3.0971635097876E+183.0971635097876E+1

那么如何用网址附加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';

?>

2 个答案:

答案 0 :(得分:2)

字符串在PHP中与点(。)

连接

+.中的连接字符$url1替换为url2

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

创建数组时删除引号。如果用单引号括起来,它会将其呈现为字符串而不是变量。

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

答案 1 :(得分: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