HTML Agility Pack SocketException 部署时
HTML Agility Pack SocketException when deployed
我不确定这是否与 HTML 敏捷有关,但这是我的问题。
我正在使用 HTML Agility Pack 解析 HTML 文档,如下所示:
var web = new HtmlWeb();
var doc = web.Load(url);
...
Parsing Logic
当我在本地 运行 它工作得很好,但是,当我部署我的应用程序时,我收到以下错误:(我使用 Ionos 1&1 托管)
SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,整数端口,CancellationToken cancellationToken)
和
HttpRequestException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
System.Net.Http.ConnectHelper.ConnectAsync(string host, int port, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, bool allowHttp2, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, bool doRequestAuth, CancellationToken cancellationToken)
System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task<HttpResponseMessage> sendTask, HttpRequestMessage request, CancellationTokenSource cts, bool disposeCts)
System.Net.HttpWebRequest.SendRequest()
System.Net.HttpWebRequest.GetResponse()
和
System.Net.Sockets.SocketException (10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
出于安全原因,我的 Web 应用程序的传出呼叫也可能被 Ionos 1&1 阻止?
我可以从任何浏览器完美访问 link
我设法解决了这个问题。
正如我所怀疑的(因为代码在本地 运行 很好),HTML Agility Pack 没有任何问题。
问题是来自我的网络应用程序的传出呼叫被我的托管服务提供商阻止了。
为了解决这个问题,我不得不使用代理来拨打电话。
代理详细信息(地址和端口)通常由主机提供。
希望这对以后的其他人有所帮助。
我不确定这是否与 HTML 敏捷有关,但这是我的问题。
我正在使用 HTML Agility Pack 解析 HTML 文档,如下所示:
var web = new HtmlWeb();
var doc = web.Load(url);
...
Parsing Logic
当我在本地 运行 它工作得很好,但是,当我部署我的应用程序时,我收到以下错误:(我使用 Ionos 1&1 托管)
SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
System.Net.Http.ConnectHelper.ConnectAsync(字符串主机,整数端口,CancellationToken cancellationToken)
和
HttpRequestException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
System.Net.Http.ConnectHelper.ConnectAsync(string host, int port, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, bool allowHttp2, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, bool doRequestAuth, CancellationToken cancellationToken)
System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task<HttpResponseMessage> sendTask, HttpRequestMessage request, CancellationTokenSource cts, bool disposeCts)
System.Net.HttpWebRequest.SendRequest()
System.Net.HttpWebRequest.GetResponse()
和
System.Net.Sockets.SocketException (10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
出于安全原因,我的 Web 应用程序的传出呼叫也可能被 Ionos 1&1 阻止?
我可以从任何浏览器完美访问 link
我设法解决了这个问题。 正如我所怀疑的(因为代码在本地 运行 很好),HTML Agility Pack 没有任何问题。 问题是来自我的网络应用程序的传出呼叫被我的托管服务提供商阻止了。
为了解决这个问题,我不得不使用代理来拨打电话。 代理详细信息(地址和端口)通常由主机提供。
希望这对以后的其他人有所帮助。