2015-02-22 15 views

Odpowiedz

46

Myślę, że to było łatwe. Otrzymałem odpowiedź w Request.Headers["User-Agent"].ToString().

+2

ten powrócił wszystkie nazwy przeglądarek mi – kobosh

+0

@kobosh 'Request.Headers [ "User-Agent"]. ToString()' –

+3

Strzeż spowoduje to jeśli KeyNotFoundException jeżeli wniosek nie ma User-Agent! Pamiętaj, aby najpierw użyć .ContainsKey do sprawdzenia! – user169771

1

Opracowałem bibliotekę rozszerzającą ASP.NET Core do obsługi wykrywania informacji o przeglądarce internetowej pod adresem Wangkanai.Detection Powinno to pozwolić ci zidentyfikować nazwę przeglądarki.

namespace Wangkanai.Detection 
{ 
    /// <summary> 
    /// Provides the APIs for query client access device. 
    /// </summary> 
    public class DetectionService : IDetectionService 
    { 
     public HttpContext Context { get; } 
     public IUserAgent UserAgent { get; } 

     public DetectionService(IServiceProvider services) 
     { 
      if (services == null) throw new ArgumentNullException(nameof(services)); 

      this.Context = services.GetRequiredService<IHttpContextAccessor>().HttpContext; 
      this.UserAgent = CreateUserAgent(this.Context); 
     } 

     private IUserAgent CreateUserAgent(HttpContext context) 
     { 
      if (context == null) throw new ArgumentNullException(nameof(Context)); 

      return new UserAgent(Context.Request.Headers["User-Agent"].FirstOrDefault()); 
     } 
    } 
} 
+0

Jak to działa? Widzę, że masz 'DeviceResolver.cs', aby sprawdzić, czy jest to telefon komórkowy, tabela lub komputer, ale nie widzę podobnego kodu do wyodrębnienia szczegółów nagłówka agenta użytkownika. – thoean

+0

Zaktualizowałem repozytorium, a plik readme staje się bardziej dojrzały. https://github.com/wangkanai/Detection –

Powiązane problemy