【问题标题】:OpenSubtitles API 401 Unauthorized how to fix?OpenSubtitles API 401 Unauthorized 如何修复?
【发布时间】:2018-02-06 02:08:06
【问题描述】:

我正在尝试像这样从 OpenSubtitles (http://trac.opensubtitles.org/projects/opensubtitles/wiki/XMLRPC) 获取字幕:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
//Opensubtitles listing
function data($request){
    $context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml\r\nUser-Agent: PHPRPC/1.0\r\n",
    'content' => $request
    )));

    $server = 'http://api.opensubtitles.org/xml-rpc'; // api url
    $file = file_get_contents($server, false, $context);

    $response = xmlrpc_decode($file);
    return $response;
}

//Get token
$request = xmlrpc_encode_request("LogIn", array('', '', 'eng', 'TemporaryUserAgent'));
$token = data($request)['token'];
//Get listing
$request = xmlrpc_encode_request("SearchSubtitles", array(
    'imdb' => '0462499',
    'sublanguageid' => 'eng',
    'season' => '',
    'episode' => '',
    'token' => $token
));
$response = data($request);
var_dump($response);
?>

但是,我不断收到 401 Unauthorized。有谁知道如何解决这个问题?我知道 API 没有问题,因为我能够很好地检索令牌。

【问题讨论】:

    标签: php xml-rpc subtitle


    【解决方案1】:

    尝试使用您的用户名/密码而不是空字符串。

    并在 Header 中更改 TemporaryUserAgent 中的 UserAgent,如下所示 http://trac.opensubtitles.org/projects/opensubtitles/wiki/DevReadFirst

    【讨论】:

      【解决方案2】:

      第二个请求应采用以下格式:-

      $request = xmlrpc_encode_request("SearchSubtitles", array($token, array(array('sublanguageid' => 'eng', 'imdbid' => 'your_imdbid'))));
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2020-07-05
        • 2019-12-05
        • 2014-08-19
        • 1970-01-01
        • 2021-05-28
        • 2021-09-09
        • 2019-12-22
        • 2020-05-11
        • 1970-01-01
        相关资源
        最近更新 更多