curl_multi_getcontent возвращает пустую строку

Этот вопрос очень похож на PHP curl_multi_gecontent возвращает ноль, но я не мог найти решение там. Если я пытаюсь отобразить результат функции, которая должна содержать ответ на запрос, я получаю пустую строку («») вместо этого.

Конечно, я пропускаю что-то не так в своем коде, но я не могу это понять. Кто-нибудь может помочь?

$id = "stuff";
$password = "mcmuffin";
$data = json_decode(file_get_contents('php://input'), true);
$ch = array();

// build the individual requests, but do not execute them
for($i = 0; $i < sizeof($data); $i++){
$searchText = $data[$i];
$type = "ligne3;pdi;voie;commune;cedexa";
$word = "Contient";
$option = "AND_OR_RES";
$format = "json";
$url = "http://somewebservice/service?chaineRecherche=".urlencode($searchText)."&typeRecherche=".urlencode($type)."&optionMot=".urlencode($word)."&optionRecherche=".urlencode($option)."&typeResultat=".urlencode($format)."&idClient=".urlencode($id)."&passwdClient=".urlencode($mcmuffin);$currentCurl = curl_init($url);
curl_setopt($currentCurl, CURLOPT_HEADER, 0);
curl_setopt($currentCurl, CURLOPT_RETURNTRANSFER, true);
array_push($ch, $currentCurl);
}

// build the multi-curl handle, adding all $ch
$mh = curl_multi_init();
for($i = 0; $i < sizeof($ch); $i++){
curl_multi_add_handle($mh, $ch[$i]);
}

// execute all queries simultaneously, and continue when all are complete
$active = null;
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);// all of our requests are done, we can now access the results
for($i = 0; $i < sizeof($ch); $i++){
echo "bonjour"; //does output
$response = curl_multi_getcontent($ch[$i]); //empty??
echo json_encode($response);
}

//close the handles
for($i = 0; $i < sizeof($ch); $i++){
curl_multi_remove_handle($mh, $ch[$i]);
}
curl_multi_close($mh);

Спасибо

0

Решение

Это была проблема с прокси. Эта опция cURL решает проблему.

curl_setopt($ch, CURLOPT_PROXY, 'proxy url');

На компьютере коллеги в соседней сети мы получили отказ от прокси вместо пустой строки. Причина, по которой мой компьютер получит пустую строку вместо прокси-сообщения, навсегда останется загадкой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector