2013-07-19 2 views
-1

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

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); 
} 
+0

URL, которые я отслеживаю дает мне пустую страницу – StephenTG

+0

@StephenTG Извините коды доступа только хорошо один раз, то есть кто-то еще нажал на ссылку. Я пришлю вам его сейчас. – user2600095

+1

Это звучит, как это может быть проблема ... – StephenTG

ответ

0

Пожалуйста, используйте CURLOPT_HEADER для проверки заголовков ответа на наличие ошибок.

+0

поэтому установите этот curl_setopt ($ curl, CURLOPT_HEADER, true); ? – user2600095

+0

Я получаю это: Ошибка HTTP 411 Требуемая длина – user2600095

0

Используйте завиток в следующем формате -

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch,CURLOPT_POSTFIELDS,'client='.$number.'&order='.$orderId); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"); 
$data =curl_exec($ch); 
+0

В чем смысл curlopt_useragent? – user2600095

+0

Когда URL-адрес запрашивается через cURL, сервер отвечает на запрос, как запрос, отправленный через браузер. Однако запрос cURL по умолчанию не указывает информацию, которая необходима некоторым серверам для проверки запроса, например. Пользовательский агент, язык и т. Д. – nks

+0

этот код не работает. Я изменил его для своего exmaple, и он возвращается на 500px странице, которая говорит oops, должно быть, была ошибка. – user2600095

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