#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