@@ -124,12 +124,13 @@ public partial class HtmlWeb
124124 internal static ConcurrentDictionary < string , HttpClient > SharedHttpClient = new ConcurrentDictionary < string , HttpClient > ( ) ;
125125
126126
127- internal static HttpClient GetSharedHttpClient ( string userAgent )
127+ internal static HttpClient GetSharedHttpClient ( HtmlWeb web )
128128 {
129- return SharedHttpClient . GetOrAdd ( userAgent , x =>
129+ return SharedHttpClient . GetOrAdd ( web . UserAgent , x =>
130130 {
131131 var client = new HttpClient ( ) ;
132- client . DefaultRequestHeaders . Add ( "User-Agent" , userAgent ) ;
132+ client . Timeout = TimeSpan . FromMilliseconds ( web . Timeout ) ;
133+ client . DefaultRequestHeaders . Add ( "User-Agent" , web . UserAgent ) ;
133134 return client ;
134135 } ) ;
135136 }
@@ -2422,16 +2423,16 @@ public async Task<HtmlDocument> LoadFromWebAsync(Uri uri, Encoding encoding, Net
24222423 if ( credentials != null || CaptureRedirect )
24232424 {
24242425 client = new HttpClient ( clientHandler ) ;
2425-
2426+ client . Timeout = TimeSpan . FromMilliseconds ( Timeout ) ;
24262427 //https://stackoverflow.com/questions/44076962/how-do-i-set-a-default-user-agent-on-an-httpclient
24272428 client . DefaultRequestHeaders . Add ( "User-Agent" , this . UserAgent ) ;
24282429 }
24292430 else
24302431 {
2431- client = GetSharedHttpClient ( this . UserAgent ) ;
2432+ client = GetSharedHttpClient ( this ) ;
24322433 }
24332434
2434- client . Timeout = TimeSpan . FromMilliseconds ( Timeout ) ;
2435+
24352436
24362437 var e = await client . GetAsync ( uri , cancellationToken ) . ConfigureAwait ( false ) ;
24372438 _statusCode = e . StatusCode ;
0 commit comments