User Agent에서 Android의 터미널 모델 이름 가져오기

1768 단어 userAgent
종지
최근 사용자 에이전트가 화제다.
User Agent에서 Android의 터미널 모델 이름을 가져오는 데 유행하는 방법을 사용해 보십시오.
이렇게 하면 신경 쓰이는 그 아이가 어떤 터미널을 사용했는지 완전히 알 수 있다
실례지만 이쪽입니다.
ua="{User Agent}"
echo $ua | sed -e "s/; wv//" |  sed -e "s/^.*; //"  | sed -e "s/ Build.*//" | sed -e "s/[)].*//"
구체적으로 말하면; wv를 빈 문자로 바꾸기^.*;를 빈 문자로 바꾸기Build.*를 빈 문자로 바꾸기[)].*를 빈 문자로 바꾸기
해설
Android의 User Agent 설명Mozilla/5.0 (Linux; U; Android 8.0.0; {Model} Build/xxxx.xxxxxx.xxx; wv) AppleWebKit/....이런 느낌.
첫 번째 () 의 {Model} 을 가져오려고 합니다.
하지만, 이것()은 각양각색의 패턴이 있다
없다(Linux; U; Android 8.0.0; {Model} Build/xxxx.xxxxxx.xxx)Build 번호가 입력되지 않았습니다.(Linux; U; Android 8.0.0; {Model})언어 코드 있음(Linux; U; Android 8.0.0; ja-JP; {Model} Build/xxxx.xxxxxx.xxx; wv)기다리다
그리하여
  • ; wv 제거(2의 처리에서 이 처리가 방해가 되기 때문)
  • 처음부터 시작;까지 모두 제외(이렇게 시작하면 모델 이름이 될 것 같다. 모델 뒤에 기도가 없다(지금은 없는 것 같다)
  • Build 번호 제외 후 → 이렇게 하면 모델명
  • 만 남는다
  • 제거 후(Build 번호 없음 지원)
  • 얻은 모델명은 아래 페이지에서 조회하면 브랜드명도 다 알 수 있다
    사절하다
    User Agent 글을 잘 이해하고 착수했어야 했는데 머리가 좋지 않아 실제 UA를 보면서 귀착적으로 대응했다.
    어차피 UA에서 얻은 의미도 없어졌으니 더 쉽게 얻을 수 있을지도 몰라요.
    https://wicg.github.io/ua-client-hints/#http-ua-hints

    좋은 웹페이지 즐겨찾기