Vimeo oEmbed не работи с curl+PHP

Опитвам се да използвам oEmbed, за да тествам дали съществува видеоклип в Youtube или Vimeo. Моят код работи добре с Youtube, но не работи с Vimeo, дори ако следвам официалната документация на Vimeo за oEmbed и предоставения там пример. Защо моят код не работи за Vimeo? Получавам сървърен отговор 200 за Youtube, но сървърен отговор 0 за Vimeo. Моят код е:

<?php

//Problematic case: I get 0 as a server reponse
$cURL = curl_init("https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/76979871");

// Youtube case - works fine: server response = 200
// $cURL = curl_init("http://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=ebXbLfLACGM");

// Set option 1: return the result as a string
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

// Set option 2: Follow any redirect
curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);

// Execute the query
$cURLresult = curl_exec($cURL);

// Get the HTTP response code
$response = curl_getinfo($cURL, CURLINFO_HTTP_CODE);

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Server response</title>
</head>
<body>

<h1><?php print "Server response: " . $response; ?></h1>


</body>
</html>

person Daniel    schedule 12.11.2015    source източник
comment
Копирах/поставих вашия скрипт на моя сървър и получих Server response: 200. Може би е било временно хълцане?   -  person johnh10    schedule 14.11.2015
comment
Всъщност си прав. Изпълних този скрипт от localhost и той работи добре за Youtube, но не и за Vimeo. Качих този файл на сървър и там работи добре. Определено трябва да бъда по-внимателен следващия път и да тествам връзките към външни сайтове в реален сървър, а не в localhost.   -  person Daniel    schedule 14.11.2015


Отговори (1)


Проблемът идва от използването на localhost за свързване с Vimeo. Localhost работи добре с Youtube, но не и с Vimeo. Тествах горния скрипт в реален сървър, както беше предложено от друг член, и там всичко работи добре.

Морал на историята: винаги тествайте проблемни външни връзки в реален сървър, а не на localhost.

person Daniel    schedule 14.11.2015