Emby docker版无法连接到tmdb,但套件版可以正常刮削
本帖最后由 McGuffin 于 2022-12-13 20:27 编辑系统:DSM 7.1.1-42962 Update 1
网络情况:tmdb相关api地址可直连
在元数据下载器只选择tmdb的情况下:
套件版无需修改hosts或代理可直接刮削到元数据和图片;
docker版(无论是官方镜像还是lovechen的镜像)无论是直连、修改hosts还是挂代理都无法连接到TMDB;日志如下:
2022-12-13 08:31:23.051 Info HttpClient: GET https://api.themoviedb.org/3/configuration?api_key=x_secret1_x
2022-12-13 08:31:43.053 Error HttpClient: Connection to https://api.themoviedb.org/3/configuration?api_key=f6bd687ffa63cd282b6ff2c6877f2669 timed out
2022-12-13 08:31:43.060 Error App: Error in TheMovieDb
*** Error Report ***
Version: 4.7.10.0
Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
Operating system: Linux version 4.4.180+ (root@build15) (gcc version 8.5.0 (GCC) ) #42962 SMP Wed Sep 21 10:56:47 CST 2022
Framework: .NET 6.0.8
OS/Process: x64/x64
Runtime: system/System.Private.CoreLib.dll
Processor count: 4
Data path: /config
Application path: /system
MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: Connection to https://api.themoviedb.org/3/configuration?api_key=f6bd687ffa63cd282b6ff2c6877f2669 timed out
---> System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 20 seconds elapsing.
---> System.TimeoutException: A task was canceled.
---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.(HttpRequestOptions , String )
--- End of inner exception stack trace ---
at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.(HttpRequestOptions , String )
at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
at MovieDb.MovieDbProvider.GetMovieDbResponse(HttpRequestOptions options)
at MovieDb.MovieDbProvider.GetTmdbSettings(CancellationToken cancellationToken)
at MovieDb.MovieDbSearch.GetSearchResults(ItemLookupInfo idInfo, String searchType, CancellationToken cancellationToken)
at MovieDb.GenericMovieDbInfo`1.GetMetadata(ItemLookupInfo itemId, CancellationToken cancellationToken)
at Emby.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, LibraryOptions libraryOptions, String logName, TIdType id, IEnumerable`1 providers, MetadataRefreshOptions options, CancellationToken cancellationToken)
Source: Emby.Server.Implementations
TargetSite: Void ()
InnerException: System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 20 seconds elapsing.
Source: System.Net.Http
TargetSite: Void HandleFailure(System.Exception, Boolean, System.Net.Http.HttpResponseMessage, System.Threading.CancellationTokenSource, System.Threading.CancellationToken, System.Threading.CancellationTokenSource)
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.(HttpRequestOptions , String )
InnerException: System.TimeoutException: A task was canceled.
Source:
TargetSite:
InnerException: System.Threading.Tasks.TaskCanceledException: A task was canceled.
Source: System.Private.CoreLib
TargetSite: Void ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
日志第二行:
2022-12-13 08:31:43.053 Error HttpClient: Connection to https://api.themoviedb.org/3/configuration?api_key=<token> timed out
2022-12-13 08:31:43.060 Error App: Error in TheMovieDb
说明docker容器无法访问到这个地址,连接超时。
你可以给容器设置两个环境变量,来指定代理。
http_proxy=http://<Your Proxy>:<port>
https_proxy=http://<Your Proxy>:<port>
然后重启容器。
页:
[1]