@@ -152,32 +152,61 @@ public static bool IsImage(string url, out DirectImage di, int timeout = Timeout
152152 // var task = url.GetAsync();
153153 // task.Wait();
154154 /*try {
155- var task = new HttpRequestMessage( HttpMethod.Get, url);
156- var cc =new HttpClient(){};
155+ // var r = new HttpRequestMessage(HttpMethod.Get, url);
157156
158- var rg1 =cc.Send(task);
157+ var clientHandler = new HttpClientHandler()
158+ {
159+ AllowAutoRedirect = true,
160+ MaxAutomaticRedirections = 50,
161+ ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
162+ {
163+ return true;
164+ }
165+ };
166+
167+
168+ var cc = new HttpClient(clientHandler)
169+ {
170+ Timeout = TimeSpan.FromMilliseconds(timeout)
171+ };
172+
173+ var rrr = cc.GetByteArrayAsync(url, token ?? CancellationToken.None);
174+ rrr.Wait();
175+
176+ // var rg11 = cc.GetByteArrayAsync(url, token ?? CancellationToken.None);
177+ // rg11.Wait();
178+ // task.Wait();
179+ // var rgx1 = rg11.Result;
180+
181+ // var rgx1 = rg11.Result;
182+ var rgx1 = rrr.Result;
183+
184+ var data = MediaTypes.ResolveFromData(rgx1);
185+
186+ if (data.StartsWith(image) && data != svg_xml)
187+ {
188+ return true;
189+ }
190+
191+ // var task = HttpUtilities.GetHttpResponseAsync(url, timeout, HttpMethod.Get, token: token);
192+ var rg1t = cc.GetAsync(url, token ?? CancellationToken.None);
193+ rg1t.Wait();
194+ var rg1=rg1t.Result;
195+ // var rg1 = task.Result;
159196 // var rg1 = task.Result;
160197 if (!rg1.IsSuccessStatusCode) {
161198 return false;
162199 }
200+
163201 // var contentType = rg1.ResponseMessage.Content.Headers.ContentType.MediaType;
164202 var contentType = rg1.Content.Headers.ContentType.MediaType;
165203
204+
166205 if (contentType.ToString().StartsWith(image) && contentType != svg_xml) {
167206 return true;
168207 }
169208
170- var rrr = rg1.Content.ReadAsByteArrayAsync();
171-
172- // var rrr=rg1.ResponseMessage.Content.ReadAsByteArrayAsync();
173- rrr.Wait();
174- var rgx1 = rrr.Result;
175-
176- var data = MediaTypes.ResolveFromData(rgx1);
177-
178- if (data.StartsWith(image)&&data!=svg_xml) {
179- return true;
180- }
209+
181210 }
182211 catch (Exception e) {
183212 Debug.WriteLine($"{e.Message}");
@@ -213,13 +242,13 @@ public static bool IsImage(string url, out DirectImage di, int timeout = Timeout
213242 // The content-type returned from the response may not be the actual content-type, so
214243 // we'll resolve it using binary data instead to be sure
215244
216-
217245
218246 var length = response . Content . Headers . ContentLength ;
219247 di . Response = response ;
220-
221-
248+
249+
222250 string mediaType ;
251+
223252 try {
224253 mediaType = ResolveMediaTypeFromData ( url , token ) ;
225254 }
0 commit comments