2017-02-18 18 views
2

Где ошибка в нижнем коде? Я пытаюсь взять данные с сайта instagram, например https://www.instagram.com/nasa/media/ - Я хочу взять его таким образом, не хочу использовать API. В настоящее время каждая вещь работы, если я беру данные через file_get_contents но хотите взять его с помощью curl - быстрееПолучить данные Instagram через CURL

<?php 

function fetchData($url){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result; 
} 

$result = fetchData('https://www.instagram.com/nasa/media/'); 
$result = json_decode($result); 

?> 
+0

Почему, по вашему мнению, это быстрее? – miken32

+0

Что, по вашему мнению, не соответствует вашему коду. Результат $ - это объект stdClass, к которому у вас есть доступ. Просто выполните var_dump ($ result) и посмотрите, что вы получаете. В телефоне есть статус ok. –

ответ

1

Я не думаю, что file_get_contents так много медленнее, чем ротор. В конце концов, это зависит от времени отклика сервера, на котором вы пытаетесь получить информацию и сколько запросов вы делаете.

Так что я бы предпочел file_get_contents в вашем случае намного проще и нуждался в меньшем количестве кода. И очень важно ... его работа;)

$result = file_get_contents('https://www.instagram.com/nasa/media/'); 
+0

Я сделал это через ajax, загрузка страницы быстрее и в фоновом режиме загружаются фотограммы. Но у вас есть какая-то проблема, вы можете посмотреть на нее http://stackoverflow.com/questions/42354968/add-custom-function-to-widget-and-assign-variable-wordpress – mattkrupnik

+0

В вашем случае я бы действительно кэшировал файл для установки времени. Не делайте этого запроса каждый раз, когда это дорого. – Stony

+0

Это больше не работает (отключен/носитель). Это кажется хорошим решением. Https://github.com/whizzzkid/instagram-proxy-api – Musa