2013-10-24 5 views
0

У меня есть этот url DespegarAPI и, как вы можете видеть, содержимое в порядке. Это ответ JSON.Плохой символ с использованием curl в php

Мне нужно, что контент через мой собственный файл, и я использую локон о file_content но ответа я это my file

У меня есть это в моем файле

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://api.despegar.com/cities?pagesize=30"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
$response = curl_exec($ch); 
curl_close($ch); 
echo $response; 

Спасибо за ответ!

+0

является определение для URL http://api.despegar.com/ – benoffi7

ответ

1

Это потому, что контент gzipped, вот краткий пример, чтобы вы начали.

<?php 
function despegar($endpoint, array $params = array()) { 

    $url = sprintf(
     'http://api.despegar.com/%s?%s', 
     $endpoint, 
     empty($params) ? null : http_build_query($params) 
    ); 

    $handle = curl_init($url); 

    curl_setopt_array($handle, array(
     CURLOPT_ENCODING  => 'gzip', 
     CURLOPT_RETURNTRANSFER => true 
    )); 

    $response = curl_exec($handle); 
    $code  = curl_getinfo($handle, CURLINFO_HTTP_CODE); 

    if (! $response || 200 != $code) { 
     throw new Exception(
      sprintf('(%d) Failed to obtain data from %s.', $code, $url), 
      $code 
     ); 
    } 

    return json_decode($response); 
} 

try { 
    $cities = despegar('cities', array('pagesize' => 10)); 

    foreach ($cities->cities as $city) { 
     printf("%s\n", $city->countryId); 
    } 
}catch(Exception $exception) { 
    echo $exception->getMessage(); 
} 
+0

Спасибо, но не работает ... Http: //ushuaiamovil.com.ar/api/devolverCiudadesDespegar.php – benoffi7

+0

Я надеваю Не знаю, что такое содержание вашего скрипта, но пример, который я разместил * определенно *, работает. Увеличивайте отчет об ошибках на хосте и начинайте отладку. –

+0

Я поставил несколько выходов и теперь работает. По крайней мере, сейчас я вижу некоторые результаты. Теперь проблема заключается в ежедневном лимите запроса api. – benoffi7

Смежные вопросы