OpenSubtitles API 401 Несанкционированный, как исправить?

Я пытаюсь получить субтитры из 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 Несанкционированный. Кто-нибудь знает, как решить эту проблему? Я знаю, что это не проблема с API, потому что я могу получить токен очень хорошо.

1

Решение

Попробуйте использовать ваше имя пользователя / пароль вместо пустой строки.

И измените UserAgent в TemporaryUserAgent в заголовке, как написано в
http://trac.opensubtitles.org/projects/opensubtitles/wiki/DevReadFirst

0

Другие решения

Второй запрос должен быть в следующем формате:

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

Надеюсь это поможет.

0

По вопросам рекламы [email protected]