PHP curl возвращает пустые строки

#php #curl

#php #curl

Вопрос:

Я начал использовать file_get_contents() , и он вернул строку (9259), в которой каждый символ является пробелом (он же. его много пустых). После некоторых исследований я попытался использовать curl() и после нескольких попыток заставить CURLOPT_SSL_VERIFYPEER и CURLOPT_USERAGENT работать, это вернуло меня туда, где я был, строка (9259) из всех пустых.

Я пытаюсь автоматически получить информацию об отслеживании нескольких пакетов, и код для одной итерации выглядит следующим образом:

 function curl($url)
    {
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17' );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false  );
        curl_setopt( $ch, CURLOPT_URL, $url );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        $data = curl_exec( $ch );
        var_dump( curl_getinfo( $ch ) );
        echo curl_errno( $ch ) . '<br/>';
        echo curl_error( $ch ) . '<br/>';
        curl_close( $ch );
        return $data;
    }
  

$url для одного экземпляра равен https://www.fedex.com/fedextrack/?tracknumbers=055575670028673amp;cntry_code=us

Мой вопрос в том, почему я получаю строку (9259) из пустых символов? Я ожидал получить фактическое строковое представление веб-сайта.

Комментарии:

1. Разве они не предоставляют API для получения этой информации, а не для очистки экрана?

2. Я попробовал ваш код с этим URL, я получил содержимое веб-страницы.

3. @Barmarr как ты его запустил? Кажется, я вспоминаю, что у меня была эта проблема перед использованием Xampp, несмотря на включение моего curl

4. Я запустил его в PHP Tester, приложении для Mac, которое запускает PHP локально.

Ответ №1:

Может быть, Fedex не нравится, когда вы очищаете страницы, обнаруживает, что вы это делаете, и возвращает фиктивные данные?

У них есть API для этого: http://www.fedex.com/us/developer/web-services/index.html