简体   繁体   中英

Returning http status code from mutiple cURL in PHP

I am trying to return two http status codes from the header information from two parallel cURL requests my script makes. So far my script is as below, the print_r() at the end prints out: Array ( [0] => 200 [1] => ). I'm not sure why it's not returning the 2nd status code? Thanks in advance.

function checkHTTPStatusCode($ip1,$ip2) {
    $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";

    //create cURL resources
    $ch1 = curl_init();
    $ch1 = curl_init();

    //set opptions
    curl_setopt ($ch1, CURLOPT_URL,$ip1);
    curl_setopt ($ch1, CURLOPT_USERAGENT, $agent);
    curl_setopt ($ch1, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch1, CURLOPT_VERBOSE, false);
    curl_setopt ($ch1, CURLOPT_TIMEOUT, 5);

    curl_setopt ($ch2, CURLOPT_URL,$ip2);
    curl_setopt ($ch2, CURLOPT_USERAGENT, $agent);
    curl_setopt ($ch2, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch2, CURLOPT_VERBOSE, false);
    curl_setopt ($ch2, CURLOPT_TIMEOUT, 5);

    //create the multiple cURL handle
    $mh = curl_multi_init();

    //add the two handles
    curl_multi_add_handle($mh,$ch1);
    curl_multi_add_handle($mh,$ch2);

    //execute the handles
    $running = null;
    do {
        curl_multi_exec($mh, $running);
    } while($running > 0);

    //get http status codes
    $httpcode1 = curl_getinfo($ch1, CURLINFO_HTTP_CODE);
    $httpcode2 = curl_getinfo($ch2, CURLINFO_HTTP_CODE);

    //close the handles
    curl_multi_remove_handle($mh, $ch1);
    curl_multi_remove_handle($mh, $ch2);
    curl_multi_close($mh);  

    return array($httpcode1,$httpcode2);
}

$test = checkHTTPStatusCode('http://www.yahoo.com','http://www.google.com');

print_r($test);

Typo here:

//create cURL resources
$ch1 = curl_init();
$ch1 = curl_init();

I guess you meant $ch2 = curl_init(); for the second one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM