Aws
ApiGW & Lambda에서 브라우저 분류하기
wngnl05
2024. 12. 24. 15:07
Lambda Function URL Code
더보기
import json
def lambda_handler(event, context):
print(event)
try:
userAgent = event['headers']['user-agent'].lower()
if 'edg' in userAgent:
browser = 'This is Edge'
elif 'trident' in userAgent or 'msie' in userAgent:
browser = 'This is Internet Explorer'
elif 'whale' in userAgent:
browser = 'This is Whale'
elif 'firefox' in userAgent:
browser = 'This is Firefox'
elif 'chrome' in userAgent:
browser = 'This is Chrome'
else:
browser = 'Other Browser'
return {
'statusCode': 200,
'body': json.dumps({'browser': browser})
}
except KeyError:
return {
'statusCode': 400,
'body': json.dumps('User-Agent header is missing')
}
ApiGW Code
더보기
ApiGateway - "통합 요청 설정" - "Lambda 프록시 통합"을 True로 변경 후
스테이지를 배포해주세요.
import json
def lambda_handler(event, context):
print(event)
try:
# 이벤트에서 사용자 에이전트 헤더를 가져옴
userAgent = event['headers']['User-Agent'].lower()
# 사용자 에이전트를 기반으로 브라우저 식별
if 'edg' in userAgent:
browser = 'This is Edge'
elif 'trident' in userAgent or 'msie' in userAgent:
browser = 'This is Internet Explorer'
elif 'whale' in userAgent:
browser = 'This is Whale'
elif 'firefox' in userAgent:
browser = 'This is Firefox'
elif 'chrome' in userAgent:
browser = 'This is Chrome'
else:
browser = 'Other Browser'
# 응답 반환
return {
'statusCode': 200,
'body': json.dumps({'browser': browser})
}
except KeyError:
# 사용자 에이전트 헤더가 없을 경우 에러 응답 반환
return {
'statusCode': 400,
'body': json.dumps('User-Agent header is missing')
}