Запрос Curl, показывающий различный контент по сравнению с запросом браузера

Когда я ввожу URL-адрес в свой браузер, он возвращает подробный вывод. Однако, когда я пытаюсь сделать это с помощью запроса на завивание, запрос пуст. Почему это происходит?

URL-адрес: https://api.500px.com/v1/users?oauth_token=AihBz6ZWedu3VxnQdy2tqWtbwV86wtOuXumhPapk&oauth_verifier=YhKo0kaGhfw0dFhparxU&consumer_key=0OvWThqr5j1ZYX1cPaa8y0y1aOfJBbDtpX85fJ42

Мой код:

<!DOCTYPE html> <?php function fetchData($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FAILONERROR, 0); curl_setopt($ch, CURLOPT_URL, $url); $returned = curl_exec($ch); echo 'Errors: ' . curl_errno($ch) . ' ' . curl_error($ch) . '<br><br>'; curl_close ($ch); echo $returned; return $returned; } ); // Pulls and parses data. $returned = fetchData("https://api.500px.com/v1/users?oauth_token=xElRwQ6cqItG8Siy9kFBpwkj5sCdlp33NRva5TZU&oauth_verifier=hbNdYnqm8BSyuiZYa4KZ&consumer_key=0OvWThqr5j1ZYX1cPaa8y0y1aOfJBbDtpX85fJ42"); var_dump($returned); if(curl_exec($ch) === false) { echo 'Curl error: ' . curl_error($ch); } else { echo 'Operation completed without any errors'; } $result = json_decode($returned); print_r($returned); // if(!curl_errno($ch)) // { // $info = curl_getinfo($ch); // echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url']; // } echo "working"; echo curl_error($ch); echo "workign4"; print_r(curl_getinfo($ch)); echo "working6"; ?> </html> 

Выполнение запроса через cURL и вручную в браузере может отображать различное содержимое, даже если вы указали одинаковые параметры URL в обоих случаях. Причин может быть немного.

  • Данные POST: ваш браузер отправляет некоторые данные POST, которые вы забыли отправить в случае cURL.

  • Cookie: ваш веб-браузер отправляет на сервер некоторые файлы cookie, необходимые для отображения содержимого.

  • IP: это не проблема в случае локального сервера, но может быть изменена в случае веб-хоста.