Я делаю запрос API с использованием cURL, но я получаю пустой результат. Я попытался var_dump
url, а затем попробовал url в браузере и отлично работает. Вот мой код.
$parameters = array( "user" => urlencode('xxxx'), "password" => urlencode('xxxx'), "msisdn" => urlencode('09277878067'), "type" => urlencode('full'), ); $post_data = ''; //create name value pairs seperated by & foreach($parameters as $k => $v) { $post_data .= $k . '='.$v.'&'; } // Remove the & from the last $post_data2 = rtrim($post_data, '&'); $url = "http://www.telcoportal.com/hlr/check?"; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url.$post_data2); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_HEADER, false); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); $output=curl_exec($ch); curl_close($ch); var_dump($output); var_dump($url.$post_data2); exit();
$url.$post_data2
– http://www.telcoportal.com/hlr/check?user=xxxx&password=xxxx&msisdn=09277878032&type=full
который при проверке браузера дает ответ {"status":"error","remark":"Authentication Failed"}
. Но мой $output
пуст и ничего не получает. Благодарю.
Вы должны использовать функцию curl_getInfo для получения информации о вашем сеансе. Вот URL-адрес http://php.net/manual/en/function.curl-getinfo.php
Для вашего случая тест должен работать.
if(!curl_errno($ch)) { $info = curl_getinfo($ch); echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url']; }
curl_close ($ ч); ?>
Попробуйте использовать echo curl_errno($ch);
чтобы получить код ошибки, полученный от вызова.
Найди его. Это они используют https
. теперь работает. Извините за вопрос noob. благодаря