【问题标题】:Vine API Request Returns 500 Internal Server ErrorVine API 请求返回 500 内部服务器错误
【发布时间】:2015-11-08 00:14:07
【问题描述】:

我正在尝试通过为 Vine 创建的 oEmbed API 端点为 Vine 提取 JSON 数据。该请求在浏览器和我的本地 Vagrant 机器上运行良好,但是一旦我在服务器上运行它,它就会引发 500 Internal Server Error。好像我的 Rackspace 服务器被阻止向他们的 API 发出请求,但这是我第一次尝试向 Vine 发出请求。

$url = 'https://vine.co/oembed.json?url=http://vine.co/v/egXzgWMjrTj';
$res = file_get_contents($url);
$json = json_decode($res);

我已经尝试过使用 cURL 请求并将带有标头的 stream_create_context() 传递到 file_get_contents() 调用中。

我的示例 cURL 请求也返回 HTML 格式的 500 内部服务器错误

$url = 'https://vine.co/oembed.json?url=http://vine.co/v/egXzgWMjrTj';
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);

我的最终目标是获取视频的缩略图,并且我正在向 Vimeo 和 Instagram 执行类似的请求,而不会出现内部服务器错误。

【问题讨论】:

    标签: php api curl twitter vine


    【解决方案1】:

    这行得通,经过测试。

    $res = file_get_contents('https://vine.co/oembed.json?url=http://vine.co/v/egXzgWMjrTj');
    $json = json_decode($res,true);
    echo $json['thumbnail_url'];
    

    json_decode 为 true 的第二个参数返回一个数组而不是一个对象。

    【讨论】:

    • 不幸的是,我得到的响应是 500 内部服务器错误。因此,将响应解码为关联数组实际上对我没有任何好处。
    • 是的,我在写这篇文章的时候已经半睡半醒了,所以我也错过了 500 错误。通常虽然 500 错误是服务器端的。也许你应该联系你的主人,看看他们怎么说?
    • 太好了,谢谢。这就是我现在正在做的事情。
    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2016-06-11
    • 1970-01-01
    相关资源
    最近更新 更多